架构第十八章:jenkins

CI&CD:

持续集成注重将各个开发者的工作集合到一个代码仓库中,通常每天会进行几次, 主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。

持续交付的目的是最小化部署或发布过程中团队固有的摩擦, 它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布(理想情况下)。

持续部署是一种更高程度的自动化,无论何时代码有较大改动, 都会自动进行构建/部署。

Jenkins:

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

官方文档:

https://www.jenkins.io/zh/doc/

下载jenkiins:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.222-1.1.noarch.rpm

#################################################################################################

环境:

Jenkins:192.168.8.20

gitlab: 192.168.8.10

1.安装:

复制jenkins包到虚拟机/root下

cd /root

rpm -ivh jenkins-2.222-1.1.noarch.rpm

2.修改配置文件(默认jenkins端口为8080,如果同gitlab一起安装,需要修改端口)

vim /etc/sysconfig/jenkins

修改:

JENKINS_USER="root"

JENKINS_PORT="8081"

保存退出

3.启动jenkins

systemctl start jenkins
systemctl enable jenkins

4.加快更新

vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

更改:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

保存退出

vim /var/lib/jenkins/updates/default.json

更改第一行:把www.google.com改成www.baidu.com

保存退出

systemctl restart jenkins

5.登录jenkins

http://192.168.8.20:8081

6.输入密码

cat /var/lib/jenkins/secrets/initialAdminPassword

复制加密密码字段,粘贴到web

7.选择安装插件

选择右上角"X",进入

8.复制插件包到虚拟机

解压复制内容到/var/lib/jenkins/plugins下

cd /root

tar xf jenkins-plugins.tar.gz

cd plugins/

cp -rp * /var/lib/jenkins/plugins/

9.修改admin用户密码

右上角--admin点击下拉三角--Configure--Password字段--修改密码--save保存

重启服务:systemctl restart jenkins

10.jenkins关联gitlab

(1)点击左上角logo--回到主页面--选择新项目"New Item"--填写项目名--选择项目类型"Freestyle project"--save保存

(2)配置项目--源代码管理--git--填写存储库网址(git@192.168.8.10:dev/web.git)--报红字错误,则需要添加root用户认证

--如果认证成功--save保存

(3)选择项目--左侧选择"build now"--下面构建历史出现蓝色标志--选择蓝色标志下拉列表--console output--输出执行过程

(4)jenkins服务器上查看/var/lib/jenkins/workspace目录,会有项目同名文件夹,保存git clone 的所有代码

相关推荐
yours_Gabriel2 小时前
【微服务】Nacos配置管理
java·后端·微服务·架构
托尼吴3 小时前
第1章-JVM和Java体系架构
java·jvm·架构
wenyue11214 小时前
微服务编排和调度
微服务·云原生·架构
yours_Gabriel4 小时前
【微服务】http客户端Feign
http·微服务·架构
uhakadotcom5 小时前
如何实现一个AI 驱动的具备自学习自适应能力的Rootkit
后端·架构·github
与君共勉121388 小时前
Jenkins-基于 SSH 实现 Jenkins 分布式
java·运维·服务器·分布式·ssh·jenkins
CopyLower8 小时前
如何使用 Jenkins 集成 Docker 以实现自动化 CI/CD 流程
docker·自动化·jenkins
真上帝的左手8 小时前
架构-微服务-服务治理
分布式·微服务·云原生·中间件·架构·服务发现
天一生水water9 小时前
AI生成的一个.netcore 经典后端架构
架构·.netcore