摘要:云计算 持续集成+自动化部署[代码流水线管理 及 Jenkins 和 gitlab 集成] 一、代码流水线管理Pipeline 名词顾名思义就是流水线的意思,因
云计算 持续集成+自动化部署[代码流水线管理 及 Jenkins 和 gitlab 集成]
一、代码流水线管理
Pipeline 名词顾名思义就是流水线的意思,因为公司可能会有很多项目。
如果使用 jenkins 构建完成后,开发构建项目需要一项一项点击,比较麻烦。
所以出现 pipeline 名词。
代码质量检查完毕之后,我们需要将代码部署到测试环境上去,进行自动
化测试
88 gitlab-ctl start
89 /etc/init.d/jenkins start
新建部署代码项目
点击新建
sudo ssh 192.168.1.50 source /root/test.sh
温馨提示: 执行命令主要涉及的是权限问题
测试机创建测试脚本并给予执行权限
1.50
[root@localhost ~]# vim test.sh
#!/bin/bash
echo hello world
[root@localhost ~]# chmod +x test.sh
[root@localhost ~]# source test.sh
hello world
Jenkins服务器做免密登陆ssh 1.40
我们做无秘钥有 2 种分案:
1、使用 jenkins 用户将秘钥分发给 192.168.1.50 上
2、使用 root 用户将秘钥分发给 192.168.1.50 上,如果使用 root 用户还要进行 visudo 授权。因为 Web 上默认执行命令的用户是 jenkins
(1)使用 jenkins 用户将秘钥分发给 192.168.1.50 上
[root@localhost ~]# ssh-copy-id root@192.168.1.50 复制用户密钥给测试机
[root@localhost ~]# ssh 192.168.1.50
[root@localhost ~]# ssh 192.168.1.50 source /root/test.sh
Jenkins上测试
(2)使用 root 用户将秘钥分发给 192.168.1.50 上,如果使用 root 用户还要进行 visudo 授权。因为 Web 上默认执行命令的用户是 jenkins
授权 jenkins 用户,使用 visudo 或者编辑配置文件/etc/sudoers
[root@localhost ~]# vim /etc/sudoers
jenkins ALL=(ALL) NOPASSWD:/usr/bin/ssh #93
#jenkins 授权所有主机,不需要密码执行 ssh。切记不要授权 ALL
Jenkins测试构建
现在我们要将代码质量管理和测试部署连接起来。
这时候就用到了 git 钩子
我们需要安装 jenkins 插件 parameterized
安装插件
再次点击项目设置的时候就会出现 Trigger parameterized build on other
projects
最后点击保存,点击构建。我们查看效果
、
现在可以看到他们两个的构建数是一起增长的
下载 pipeline。这样只需要构建一个项目,就会帮我们完成所有相关项目 (刚刚已经装完了)
我们点击首页+号,新建一个试图
然后保存
pipeline 视图如下:
点击 Run
这样就先代码质量进行管理,然后就开始部署了
构建成功后:测试一下
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28