冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述GitLab Jenkins CI/CD 自动化部署相关的知识,希望能为你提供帮助。
安装GitLab
sudo apt-get install curl openssh-server ca-certificates postfix
## *注意, 在安装 postfix 的时候, 选择"internet site"
## *然后, "system mail name" 服务器的IP地址/域名curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo apt-get install gitlab-ee# 4.修改相关配置
sudo vi /etc/gitlab/gitlab.rb
?```修改内容
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
# external_url \'http://ubuntu\'
# 修改第一部分 http://<
服务器IP>
:<
gitlab访问端口>
external_url \'http://192.168.6.132:11000\'### Advanced settings
# unicorn[\'listen\'] = \'127.0.0.1\'
# unicorn[\'port\'] = 8080
# 修改第二部分
unicorn[\'port\'] = 11001##! Advanced settings. Should be changed only if absolutely needed.
# prometheus[\'listen_address\'] = \'localhost:9090\'
# 修改第三部分
prometheus[\'listen_address\'] = \'localhost:11002\'
?```
# 重新加载GitLab配置
sudo gitlab-ctl reconfigure
# 其他选项
sudo gitlab-ctl `start`/`stop`/`restart`
安装 Jenkins
- Jenkins 镜像下载 http://mirrors.jenkins-ci.org/
- latest 地址jenkins.war
- 在安装好java环境时运行 jenkins.war
nohup java -jar jenkins.war --httpPort=12000 > jenkins.log &
- 进入太慢可中途停止程序编辑 UpdateCenter 文件修改插件仓库地址
vim /root/.jenkins/hudson.model.UpdateCenter.xml?```
<
?xml version=\'1.1\' encoding=\'UTF-8\'?>
<
sites>
<
site>
<
id>
default<
/id>
<
!-- 默认配置 <
url>
https://updates.jenkins.io/update-center.json<
/url>
-->
<
url>
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json<
/url>
<
/site>
<
/sites>
?```
- 查看默认密码:
cat /root/.jenkins/secrets/initialAdminPassword
- 在选择初始安装的插件时选择:
Install suggested plugins
安装建议的插件, 安装jenkins社区认为最有用的插件。
- 汉化 Jenkins
文章图片
Manage Jenkins > Configure System
配置 Publish over SSH ,如果配置中没有 Publish over SSH
就安装插件, 插件名Publish over SSH
文章图片
Manage Jenkins > Global Tool Configuration
配置编译工具
文章图片
- 创建一个item选择 Freestyle project
文章图片
- 配置代码仓库地址
文章图片
- GitLab 账号密码
文章图片
- 构建配置 (调用顶级maven目标)
文章图片
- 构建后操作
文章图片
- 目录结构
data/
├── code
│└── target
│└── gitlab-demo-0.0.1-SNAPSHOT.jar
├── log
│├── df-api-server-0.0.1-SNAPSHOT-20210128.log
│├── df-api-server-0.0.1-SNAPSHOT-20210129.log
│└── df-api-server-0.0.1-SNAPSHOT-20210131.log
└── script
├── start.sh
└── stop.sh
- 启动/停止脚本内容
doudio@ubuntu:/data/script$ cat start.sh
echo \'Start the program : gitlab-demo-0.0.1-SNAPSHOT.jar\'
chmod 777 /data/code/target/gitlab-demo-0.0.1-SNAPSHOT.jar
echo \'-------Starting-------\'
current_date=`date -d "-0 day" "+%Y%m%d"`
echo $current_date
cd /data/code/target/
nohup java -jar /data/code/target/gitlab-demo-0.0.1-SNAPSHOT.jar --server.port=8081 >
/data/log/df-api-server-0.0.1-SNAPSHOT-$current_date.log 2>
&
1&
echo \'start success\'
doudio@ubuntu:/data/script$ cat stop.sh
#!/bin/bash
echo "Stop Procedure : gitlab-demo-0.0.1-SNAPSHOT.jar"
pid=`ps -ef |grep java|grep gitlab-demo-0.0.1-SNAPSHOT.jar|awk \'{print $2}\'`
echo \'old Procedure pid:\'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi
- 到此已经可以实现登陆Jenkins点击部署了, 如果需要配置只要推送代码后就自动部署再来进行如下配置
- 修改 Jenkins 全局安全配置
文章图片
- 修改 itm 中的构建触发器, 如果触发器中没有 GitLab 就安装相关(Gitlab , Gitlab Hook) 插件
文章图片
- 在GitLab中配置推送仓库后触发构建操作
文章图片
- 如果有如下报错需要修改 GitLab的 Admin area (管理中心) =>
Settings 配置
- Urlis blocked: Requests to localhost are not allowed (URL被阻止:不允许对localhost的请求)
文章图片
【GitLab Jenkins CI/CD 自动化部署】
推荐阅读
- ansbile
- 马士兵mca架构师全套
- Centos7下用户登录失败N次后锁定用户禁止登陆的方法
- 每天学点Linux命令之umask
- Linux虚拟机常见使用及常见问题
- 等保咨询
- vim 日常积累
- Java代码中,如何监控Mysql的binlog()
- 面试侃集合 | DelayQueue篇