Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
虚拟机系统:
虚拟机配置:
需要安装以下软件:
sudo wget -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
vim /etc/sysconfig/jenkins
修改部分:JENKINS_PORT="8091"
systemctl start jenkins
systemctl start jenkins -- 启动jenkins
systemctl restart jenkins -- 重启jenkins
systemctl status jenkins -- 查看jenkins启动状态
1、浏览器访问:http://192.168.56.200:8091/
2、查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
3、然后直接选推荐安装的插件,或者直接下一步即可
sudo wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
sudo rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
修改部分:external_url = http://192.168.56.201:8092
gitlab-ctl reconfigure
gitlab-ctl restart
提示 "ok: run:"表示启动成功
1、访问浏览器: http://192.168.56.201:8092
2、初始账户: root 密码: 5iveL!fe
git@192.168.56.201/novel/cms-admin.git
Publish Over SSH
Gitlab Hook Plugin
Gitlab Plugin
Git Parameter Plug-In
SSH Agent
SSH Build Agents
SSH plugin
注:把jenkins机器的公钥添加至gitlab机器的 ~/.ssh/authorized_keys 列表
3.1、创建自由任务( test-push )
3.2、源码管理( 使用gitlab )
3.3、配置触发器,用于gitlab更新代码时通过webhook触发jenkins发布代码
3.4、配置构建需执行的shell
3.5、保存配置即可
测试中使用的shell
Execute shell:
cd "/var/lib/jenkins/workspace/test-push"
rm -f git.tar.gz
tar -zcf git.tar.gz .git
scp -i /var/lib/jenkins/workspace/id_rsa -rP 22 git.tar.gz root@192.168.56.201:/www/cms-admin
Execute remote host shell: ( 执行 gitlab 机器 )
cd /www/cms-admin
rm -rf .git
tar -xf git.tar.gz
git checkout master
git reset --hard master
git clean -f -d
2.1 配置gitlab中webhook
url: GitLab webhook URL: http://192.168.56.200:8091/project/test-push
token: 使用创建jenkins任务配置中生成的token
gitlab 测试触发:
成功时返回:Hook executed successfully: HTTP 200