Jenkins 结合 Gitlab


工作中的最佳实践!!!

前提准备
gitlab 服务器  与 jenkins 之前免密  ## (也可以自己生成一对密钥进行配对 更加安全)
做好hosts 域名解析
ssh-keygen

将密钥文件添加到gitlab服务器认证

image-20241018225357640

## 测试 
随便clone 一个仓库查看是否需要密码

image-20241018225531115


拉去Git代码 分析

将 git中的代码拉去到工作目录 
在进行相对应的shell操作

image-20241018230419359

### 构建历史
Started by user admin
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/dev/002-这是连接Gitlab的一个ltem
The recommended git tool is: NONE
No credentials specified
Cloning the remote Git repository
Cloning repository [email protected]:dev/web.git
 > git init /var/lib/jenkins/workspace/dev/002-这是连接Gitlab的一个ltem # timeout=10
Fetching upstream changes from [email protected]:dev/web.git
 > git --version # timeout=10
 > git --version # 'git version 2.43.0'
 > git fetch --tags --force --progress -- [email protected]:dev/web.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url [email protected]:dev/web.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision cd32027ea154c49d033a37e26def081ee093a0b2 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f cd32027ea154c49d033a37e26def081ee093a0b2 # timeout=10
Commit message: "v1.0"
First time build. Skipping changelog.
[002-这是连接Gitlab的一个ltem] $ /bin/sh -xe /tmp/jenkins5993198680919793662.sh
+ echo aaa
+ ls -l
总计 8
-rw-r--r-- 1 root root 4 10月 18 23:01 1.md
-rw-r--r-- 1 root root 4 10月 18 23:01 1.txt
+ pwd
/var/lib/jenkins/workspace/dev/002-这是连接Gitlab的一个ltem
+ tar zcf a.tgz 1.md 1.txt
Finished: SUCCESS

image-20241018230735352


利用Git仓库的tag号来精准拉取代码

## 安装插件
https://plugins.jenkins.io/git-parameter/


image-20241019133822183