jenkinsserver的安装部署方式(代码片段)

woshixiaowang woshixiaowang     2022-12-08     442

关键词:

技术图片


 

第2章 Jenkins Server的安装部署方式

  • 1.1 安装依赖

  • 1.2 安装部署

    • 1.2.1 使用Tomcat部署

    • 1.2.2 CentOS环境部署

    • 1.2.3 MacOS环境部署

    • 1.2.4 基于Docker部署

    • 1.2.5 基于Kubernetes部署

    • 1.2.6 基于Windows部署

    • 1.2.7 软件资源下载

  • 1.3 配置

 

本章阐述Jenkins Server的安装部署方式。基于Tomcat、CentOS、MacOS、Docker、Kubernetes、Windows部署。部署后的基础配置。


1.1 安装依赖

Jenkins是基于Java开发的一种持续集成工具,可以在安装Java Runtime Environment的任何机器独立运行。部署前需要安装Java开发环境。要求是JDK8+,目前已经支持JDK11。关于JDK的安装可以通过yum或者源码包方式。

技术图片

 

rpm方式

rpm -ivh jdk-xxxxx.rpmyum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

源码包方式

tar zxf jdk-xxxx.tar.gz -www.zhuyngyule.cn C /usr/localvim /etc/profile
export JAVA_HOME=/usr/local/jdkxxxexport PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

1.2 安装部署

1.2.1 使用Tomcat部署

如果使用war包部署建议采用tomcat,当然Jenkins的war包可以直接通过java -jar jenkins.war启动。我们可以部署一个tomcat服务然后将jenkins.war包放到tomcat的webapps目录下。最后通过浏览器http://tomcatserver/jenkins访问。

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gztar xf apache-tomcat-9.0.24.tar.gz -C /usr/local/cp jenkins.war apache-tomcat-9.0.24/webapps/
# 启动/usr/local/tomcat/bin/catalina.sh start
# 停止/usr/local/tomcat/bin/shutdown.sh

1.2.2 CentOS环境部署

普遍在centos系统部署Jenkins,可以下载jenkins的最新rpm包部署。

wget https://www.gaodeyulept.cn mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.235.2-1.1.noarch.rpm
rpm -ivh jenkins-2.235.2-1.www.javachenglei.com.noarch.rpm
systemctl start jenkinssystemctl enable jenkins

1.2.3 MacOS环境部署

在Mac OS X机器上安装Jenkins CI服务器,可以手动下载pkg包安装或者通过brew自动安装。

手动下载pkg包安装,根据向导进一步安装。

技术图片

使用brew部署

brew install jenkins-lts

######################################################################## 100.0%==> Downloading http://mirrors.jenkins.io/war-stable/2.235.2/jenkins.war==> Downloading from http://mirror.serverion.com/jenkins/war-stable/2.235.2/jenki######################################################################## 100.0%==> Installing dependencies for jenkins-lts: openjdk@11==> Installing jenkins-lts dependency: openjdk@11==> Pouring openjdk@11-11.0.7+10.high_sierra.bottle.tar.gz==> CaveatsFor the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
openjdk@11 is keg-only, which means it was not symlinked into /usr/local,because this is an alternate version of another formula.
If you need to have openjdk@11 first in your PATH run: echo ‘export PATH="/usr/local/opt/openjdk@11/bin:$PATH"‘ >> /Users/zeyang/.bash_profile
For compilers to find openjdk@11 you may need to set: export CPPFLAGS="-I/usr/local/opt/openjdk@11/include"
==> Summary?? /usr/local/Cellar/openjdk@11/11.0.7+10: 650 files, 295.7MB==> Installing jenkins-lts==> /usr/local/opt/openjdk@11/bin/jar xvf jenkins.war==> CaveatsNote: When using launchctl the port will be 8080.
To have launchd start jenkins-lts now and restart at login: brew services start jenkins-ltsOr, if you don‘t want/need a background service you can just run: jenkins-lts==> Summary?? /usr/local/Cellar/jenkins-lts/2.235.2: 7 files, 66.4MB, built in 11 seconds==> Caveats==> openjdk@11For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /usr/local/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
openjdk@11 is keg-only, which means it was not symlinked into /usr/local,because this is an alternate version of another formula.
If you need to have openjdk@11 first in your PATH run: echo ‘export PATH="/usr/local/opt/openjdk@11/bin:$PATH"‘ >> /Users/zeyang/.bash_profile
For compilers to find openjdk@11 you may need to set: export CPPFLAGS="-I/usr/local/opt/openjdk@11/include"
==> jenkins-ltsNote: When using launchctl the port will be 8080.
To have launchd start jenkins-lts now and restart at login: brew services start jenkins-ltsOr, if you don‘t want/need a background service you can just run: jenkins-lts# Start.brew services start jenkins-lts
# Stop.brew services stop jenkins-lts

1.2.4 基于Docker部署

docker pull jenkins/jenkins:lts
docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

## 参数解释-d 后台运行-v 持久化jenkins数据目录-p 端口绑定 server:8080 agent:50000

1.2.5 基于Kubernetes部署

首先创建一个namespace jenkins ,然后通过kubectl create -f jenkins.yml部署。

这是一个完整的Deployment文件。

kind: DeploymentapiVersion: apps/v1metadata:  labels:    k8s-app: jenkins  name: jenkins  namespace: devopsspec:  replicas: 1  revisionHistoryLimit: 10  selector:    matchLabels:      k8s-app: jenkins  template:    metadata:      labels:        k8s-app: jenkins      namespace: devops      name: jenkins    spec:      containers:        - name: jenkins          image: jenkins/jenkins:2.211          imagePullPolicy: IfNotPresent          ports:            - containerPort: 30080              name: web              protocol: TCP            - containerPort: 30081              name: agent              protocol: TCP          resources:            limits:              cpu: 1000m              memory: 2Gi            requests:              cpu: 500m              memory: 512Mi          livenessProbe:            httpGet:              path: /login              port: 30080            initialDelaySeconds: 60            timeoutSeconds: 5            failureThreshold: 12          readinessProbe:            httpGet:              path: /login              port: 30080            initialDelaySeconds: 60            timeoutSeconds: 5            failureThreshold: 12          volumeMounts:            - name: jenkins-home              mountPath: /var/lib/jenkins          env:            - name: JENKINS_HOME              value: /var/lib/jenkins            - name: JENKINS_OPTS               value: --httpPort=30080            - name: JENKINS_SLAVE_AGENT_PORT              value: "30081"      volumes:        - name: jenkins-home          hostPath:             path: /data/devops/jenkins            type: Directory      serviceAccountName: jenkins---apiVersion: v1kind: ServiceAccountmetadata:  labels:    k8s-app: jenkins  name: jenkins  namespace: devops---kind: ServiceapiVersion: v1metadata:  labels:    k8s-app: jenkins  name: jenkins  namespace: devopsspec:  type: NodePort  ports:    - name: web      port: 30080      targetPort: 30080      nodePort: 30080    - name: slave      port: 30081      targetPort: 30081      nodePort: 30081  selector:    k8s-app: jenkins---kind: RoleapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: jenkins namespace: devopsrules: - apiGroups: [""]   resources: ["pods","configmaps","namespaces"]   verbs: ["create","delete","get","list","patch","update","watch"] - apiGroups: [""]   resources: ["pods/exec"]   verbs: ["create","delete","get","list","patch","update","watch"] - apiGroups: [""]   resources: ["pods/log"]   verbs: ["get","list","watch"] - apiGroups: [""]   resources: ["secrets"]   verbs: ["get"]---apiVersion: rbac.authorization.k8s.io/v1beta1kind: RoleBindingmetadata: name: jenkins namespace: devopsroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: jenkinssubjects: - kind: ServiceAccount   name: jenkins   namespace: devops

jenkins端口可以自定义,这里使用的是30080端口和30081端口。持久化的目录采用的是hostpath方式,这种方式仅能适合本地测试。建议如果生产还是采用共享存储pvc来持久化。否则节点漂移到其他节点会出现数据丢失。

1.2.6 基于Windows部署

下载软件包通过向导安装即可。windows这里基本上很少用的了。

1.2.7 软件资源下载

JDK下载链接:https://www.tengyao3zc.cn /java/technologies/javase/javase-jdk8-downloads.html

Mac pkg软件包下载:https://www.javachenglei.com  .edu.cn/jenkins/osx-stable/

Jenkins war包下载链接:https://www.jintianxuesha.com .edu.cn/jenkins/war-stable/

Jenkins rpm包下载链接:https://www.wanfeigw.cn  mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/

Jenkins Docker hub:https://www.yuanyangyul.com hub.docker.com/r/jenkins/jenkins

k8s yaml:https://www.xincheng0001.cn github.com/zeyangli/devops-on-k8s/blob/master/devops/jenkins.yaml

windows 下载:https://www.letianhuanchao.cn mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/


1.3 配置

解锁:当您第一次访问Jenkins的时候,系统会要求您使用自动生成的密码对其进行解锁。解锁秘钥可以通过$JENKINS_HOME/secrets/initialAdminPassword文件获取。还可以通过在启动日志中获取。

argoworkflows概述,安装部署,服务的发布加密方式(代码片段)

ArgoWorkflows概述,安装部署,服务的发布、加密方式一、什么是ArgoWorkflows?二、为什么选择ArgonWorkflows?三、快速开始3.1安装ArgoWorkflows3.2下载安装3.3ArgoController四、ArgoServer4.1OffloadingLargeWorkflows4.2WorkflowArchive4. 查看详情

jenkispipeline构建项目实践(代码片段)

在完成前文的jenkinsserver在k8s环境部署之后,本文我们来测试在k8s集群环境中的jenkinspipeline构建项目和更新,具体环境要求如下:1、jenkinspipeline插件安装成功2、要更新的应用已提前部署3、Jenkinsslave中需要有kubectl、svn、mvn客户端... 查看详情

es实战elasticsearch6.7的安装部署卸载-rpm方式(代码片段)

Elasticsearch6.7的安装部署卸载-RPM方式文章目录Elasticsearch6.7的安装部署卸载-RPM方式环境准备系统调优安装操作错误总结错误一:memlockunlimited错误二:memoryisnotlocked卸载补充知识systemctl常用指令表格RPM包采用系统默认的安装... 查看详情

3流程引擎下载安装与部署(代码片段)

...omcatJBossEAP/wildflyIBMWebShpereOracleWebLogicDockerSpringboot启动推荐安装一、docker方式安装参考文档:https://github.com/camunda/docker-camunda-bpm-platform/tree/7.17暂时先以docker运行7.17.0版本,其他版本可以在https://hub.docker.com/中查看镜像版。拉取镜像... 查看详情

一个简单的连续调用脚本部署代码的案例(代码片段)

...内网的需求。服务器信息:**主机名称IP**gitserver10.150.27.51jenkinsserver10.150.27.52jumpserver1.1.1.1/192.168.2.2 查看详情

jenkispipeline构建菠菜源码搭建出售项目实践(代码片段)

在完成前文的jenkinsserver在k8s环境部署之后,本文我们来测试在k8s集群环境中的jenkinspipeline构建项目和更新,具体环境要求如下:1、jenkinspipeline插件安装成功2、要更新的应用已提前部署3、Jenkinsslave中需要有kubectl、svn、mvn客户端... 查看详情

docker项目部署(代码片段)

...部署1.vue项目docker部署linux如何查看当前目录的完整路径安装nginx镜像vue项目打包docker部署方式一:挂载(适用于要经常修改的情况)docker部署方式二:COPY(适用于修改少的情况)1.vue项目docker部署linux如何... 查看详情

harbor最新版部署harbor最新版部署(代码片段)

安全搭建一套企业级的Harbor服务,1Harbor简介2Harbor几种安装方式Harbor提供以下几种安装方式,以适应不同的安装环境。在线安装:适合初学者快速搭建一个Harbor仓库,简单快速,安装过程需要从官方拉取镜像,资源包带online。离... 查看详情

idea安装阿里cloudtoolkit插件(代码片段)

...像仓库等多个步骤。您只需要在第一次使用时在本地IDE上安装CloudToolkit,即可快速部署。产品功能 部署应用部署应用到ECS:完成编码后,利用CloudToolkit快速将应用部署至ECS指定目录。部署应用到EDAS:将本地代码和云端应用... 查看详情

k8s集群中部署jenkins(代码片段)

本文介绍在k8s环境中进行jenkinsserver的部署和配置。Jenkins是一个开源的、功能强大的持续集成和持续构建工具,采用master和salve架构,我们通过将jenkins集成环境部署在k8s集群中,可以实现jenkinsslave按需创建、动态的伸缩。同时也... 查看详情

flink1.13.2三种方式安装部署(建议收藏!)(代码片段)

...0c;我是土哥。今天,有位Flink初学者问我有没有Flink的安装教程,看到这后,土哥二话不说直接安排上。以下教程全部使用Flink1.13.2版本,在普通用户下面部署:1、Standalone部署版本要求:版本节点部署方式f... 查看详情

数据质量监控griffin——打包方式安装部署(代码片段)

一、安装部署依赖准备JDK(1.8或更高版本)MySQL(5.6及以上版本)Hadoop(2.6.0或更高版本)Hive(版本2.x)Spark(版本2.2.1)Livy(livy-0.5.0-incubating)ElasticSearch(5.0或更高版本)二、安装1、MySQL:在MySQL中创建数据库quartz,然后执行Init_q... 查看详情

tomcat部署项目的几种方式(代码片段)

...、Tomcat:web服务器软件下载:http://tomcat.apache.org/安装:解压压缩包即可。注意:安装目录建议不要有中文和空格卸载ÿ 查看详情

以windows服务方式快速部署免安装版postgres数据库(代码片段)

目录以windows服务方式快速部署免安装版Postgres数据库1、下载Postgresql数据库免安装包2、安装环境准备及验证解压文件测试环境依赖3、创建并初始化数据目录创建数据目录初始化数据目录5、配置postgres数据库打开并修改postgresql.con... 查看详情

麒麟系统开发笔记:在线安装软件后,提取其安装包,部署目标机使用离线软件包方式安装软件(代码片段)

...,特将此种方式分享出来。  本篇文章的重点就是离线安装,包括了在线安装,提取离线安装包,离线安装并完成测试验证。  本文以sshpass工具为示例。<br>银河麒麟V10版本  系统版本:  <br>关键路径(apt安装... 查看详情

安装部署linus安装docker(代码片段)

目录1、卸载旧版本(如果安装过旧版本的话)2、安装需要的软件包3、设置阿里源4、可以查看所有仓库中所有docker版本,并选择特定版本安装5、安装Docker6、启动并加入开机启动7、验证安装是否成功8、设置源的另一种方式1、卸载... 查看详情

cobbler部署(代码片段)

Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,... 查看详情

5.安装dashboarduiheapster(代码片段)

安装DashboardUI本文的安装方式是使用ingress来暴露DashboardUI服务,官网提供了4种访问方式,其中ingress最为合适,因为这种方式也是暴露应用的首选方式。http方式安装dashboard下载dashboard-http.yaml安装该配置文件已经加入了ingress配置... 查看详情