代码语言:javascript复制
注意: 官方文档 https://docs.gitlab.com/ee/integration/jenkins.html
1. 安装gitlab
- 官方文档
1. 安装依赖及配置
代码语言:javascript复制sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
2. 添加gitlab仓库并且安装
代码语言:javascript复制curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
3. 安装Postfix以发送邮件通知(可跳过,但添加用户需用到)
代码语言:javascript复制sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
4. 配置gitlab
- vim /etc/gitlab/gitlab.rb
- 将
ternal_url 'http://gitlab.example.com'
修改为external_url 'http://<你的服务器地址或域名>'
- 为了方便jenkins调用,此处使用80端口
- 将
unicorn['port'] = 8080
修改为unicorn['port'] = 11001
- 将
prometheus['listen_address'] = 'localhost:9090'
改为prometheus['listen_address'] = 'localhost:11002'
- 将
5. 生效配置并启动
代码语言:javascript复制sudo gitlab-ctl reconfigure
sudo gitlab-ctl start/stop
6. 访问gitlab
代码语言:javascript复制http://<IP>
2. 安装jenkins
1. 下载war包
代码语言:javascript复制curl -O http://static.outsidelook.cn/software/jenkins/jenkins.war
2. 运行Jenkins
代码语言:javascript复制nohup java -jar jenkins.war --httpPort=12000 &
3. 访问12000端口打开jenkins
代码语言:javascript复制http://localhost:12000
4. 查看jenkins初始密码
代码语言:javascript复制cat /root/.jenkins/secrets/initialAdminPassword
5. 根据提示完成创建
3. jenkins添加插件
1. 登录账户
- admin - 123456 (这是我的账号)
2. 在线升级jenkins
- 升级完需重启jenkins
3. 安装git、gitlab插件
-
系统管理
->管理插件
->可选插件
- 安装以下插件
- Git plugin
- GitLab plugin
4. 配置gitlab api token
- 打开Gitlab,点击右上角用户图标,选择
Settings
->Account
, - 打开Jenkins,选择
系统管理
->系统设置
->配置
->Gitlab
- Connection name : 随便填
- Gitlab host URL : Gitlab的访问地址
- 点击
Add
->Jenkins
- 类型选择GitLab API token,API token填入在gitlab中生成的token
- Credentials : 选择刚才添加的Credentials
- 点击
Test Connection
,返回Success - 点击
应用
->保存
5. 配置Git插件
- 打开Jenkins
- 点击
系统管理
->系统设置
->配置
->Git plugin
- 设置账户和邮箱
- 点击
应用
->保存
- 点击
6. 使用Jenkins安装Maven
- 打开Jenkins
- 点击
系统管理
->全局工具配置
->Maven
->Maven安装
- 输入名称,选择Maven版本
Apply
->Save
7. 创建配置Jenkins Job
1. 创建一个Job
- 点击
创建一个新任务
- 名字可以自己起,然后点击
构建一个自由风格的软件项目
->确定
2. 在Gitlab中添加ssh秘钥
- 具体步骤自己查询
- 此处生成是为了jenkins服务器能访问到你的gitlab,所以添加的是jenkins所在服务器上的密钥。
3. 配置Job
- 打开jenkins,进入job页面,点击
配置
- 选择
源码管理
->Git
- Repository URL: gitlab仓库地址
- 点击
Add
->Jenkins
- 类型: SSH Username with private key
- Username: 自己的用户名
- Private Key: 填写jenkins服务器上的私钥(注意:此处为私钥)
- 点击
添加
- Credentials: 选择刚才添加的Credentials
- 点击
保存
7. 配置Job的构造触发器
- 打开jenkis,进入job页面,点击
配置
- 选择
构造触发器
,选择轮询SCM
- 日程表: H/1 * * * *(此有缺陷, 可以使用 H/2 * * * * 替代,表示一分钟轮询一次)
- 点击
保存
8. 配置Job的构造脚本
9. 测试
- 在master分支提交代码进行测试