Jenkins集成Gitlab与企业微信机器人
-
启动Docker
docker run
-u root
–rm
-d
–name jenkins
-p 8080:8080
-p 50000:50000
-v /root/wwl/jenkins/jenkins-data:/var/jenkins_home
-v /var/run/docker.sock:/var/run/docker.sock
jenkinsci/blueocean -
Jenkins生成账号密码
地址输入:http://ip:8080,根据界面化操作。生成账号密码.配置安装插件,默认安装之外的插件,必选插件gitlab
账号:admin
密码:513cee09271e448bab2016963bbc4b6f -
Gitlab生成Api令牌
请注意:此身份验证配置仅用于访问GitLab API以将构建状态发送到GitLab。它不用于克隆git repos。克隆的凭据(通常是SSH凭据)应在git插件中单独配置。
3.1 Gitlab操作步骤
- 在GitLab中创建一个新用户
- 为您希望Jenkins将构建状态发送到的每个存储库授予该用户“ Maintainer”权限
- 在GitLab中登录或“模拟”该用户,单击该用户的图标/头像,然后选择“设置”
- 点击“访问令牌”,创建一个具有“ api”范围的名为“ jenkins”的令牌;到期时间是可选的
立即复制令牌,离开该页面后将无法访问该令牌
5.在Jenkins的“全局配置”页面上的GitLab配置部分,提供GitLab主机URL,例如https://your.gitlab.server单击“添加”按钮添加证书,选择“ GitLab API令牌”作为证书的类型,然后将您的GitLab用户的API密钥粘贴到“ API令牌”字段中
点击“测试连接”按钮;它应该成功
- 新建项目
4.1. 新建项目
4.2 构建触发器
4.3 触发器生成token
复制生成的token
4.4 jenkins token配置到gitlab
4.5 配置流水线脚本
-
Jenkins Pipeline配置文件
pipeline {
agent any
tools {
maven ‘maven’
}
environment{
TEST_HOST=“192.168.136.27”
TEST_USER=“root”
TEST_DIR="/home/wwl/jenkins"
PROD_HOST=“192.168.136.27”
PROD_USER=“root”
PROD_DIR="/home/wwl/jenkins/prod"
}
stages {
stage(‘Build’) {
steps {
sh ‘mvn -B -DskipTests clean package’
sh ‘echo $GIT_BRANCH’
sh ‘echo --------------------------’
sh ‘printenv’
}
}
stage(‘Deploy-test’) {
when {
environment name: ‘GIT_BRANCH’, value: ‘origin/master’
}
steps{
sh ‘scp target/hello-world-0.0.1-SNAPSHOT.jar T E S T U S E R @ {TEST_USER}@ TESTUSER@{TEST_HOST}😒{TEST_DIR}’
sh ‘scp jenkins/test/stop.sh T E S T U S E R @ {TEST_USER}@ TESTUS