智能
助手
最大化  清空记录 停止  历史记录
翻译选中文本
选中一段文本后进行翻译
名词解释
选中一段文本后进行名词解释
知识图谱生成
通过图谱展示知识信息
登录用户在知识浏览页面可用
答案生成
AI自动回答一个问答功能中的问题
登录用户在问答浏览页面,且问题开放回答中可用
知识摘要
自动为当前知识生成摘要
知识浏览页面可用
知识问答
针对当前知识进行智能问答
知识浏览面可用
   34  
查询码: 00000183
7. Jenkins项目实战-01-拉取gitlab代码-推送代码到web-配置web-hook
作者: 文艺范儿 于 2025年11月22日 发布在分类 / DevOps / jekins ,于 2025年11月23日 编辑
DevOps gitlab jenkins

7. Jenkins项目实战

7.1 Jenkins拉取gitlab代码

1. gitlab仓库上传游戏代码

粘贴图片

2. Jenkins创建项目

a.创建项目

粘贴图片

b.配置连接的gitlab项目地址

粘贴图片

注意:这里我已经在jenkins服务器生成密钥对,并在gitlab页面上把jenkins的公钥添加了的,添加完成之后还需要在jenkins服务器中执行一次clone项目的命令,输入一次yes。不然上面页面会报无法连接仓库的错误。

粘贴图片

c.点保存后,立即构建进行测试。

粘贴图片

可以在jenkins服务器项目目录下查看是否拉取游戏代码成功。

[root@201-jenkins ~]# ll /var/lib/jenkins/workspace/game_job/
总用量 48
-rw-r--r-- 1 root root 28032 11月 19 01:04 bgm.mp3
drwxr-xr-x 2 root root    23 11月 19 01:04 css
drwxr-xr-x 2 root root    23 11月 19 01:04 images
-rw-r--r-- 1 root root  8956 11月 19 01:04 index.html
drwxr-xr-x 2 root root   213 11月 19 01:04 js
drwxr-xr-x 2 root root  4096 11月 19 01:04 roms
-rw-r--r-- 1 root root   811 11月 19 01:04 shuoming.html

7.2 Jenkins推送代码到WEB

1.将拉取到的代码推动到web服务器的nginx站点目录运行

1.##在web服务器上安装nginx并配置
[root@204-web vhost]# cd /home/deploy/nginx/conf/vhost/
[root@204-web vhost]# cat game.conf 
    server {
        listen       80;
        server_name  game.wyasw.com;
        location / {
            root /home/deploy/nginx/html/game/ ;
            index index.html index.htm index.php;
                }

    }
2.##jenkins和web服务器做免密钥
[root@201-jenkins ~]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.204
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host '10.0.0.204 (10.0.0.204)' can't be established.
ECDSA key fingerprint is SHA256:Jr3K8c9P67/4Nvy8jn7FFmFrNBVcKW5dVzpUNW2aVNo.
ECDSA key fingerprint is MD5:fe:26:f2:56:60:1b:3c:52:80:28:26:c1:4d:ec:e0:a3.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.0.0.204's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '10.0.0.204'"
and check to make sure that only the key(s) you wanted were added.

[root@201-jenkins ~]# ssh '10.0.0.204'
Last login: Mon Nov 17 00:23:33 2025 from 10.0.0.1
[root@204-web ~]# exit
登出
Connection to 10.0.0.204 closed.

2.jenkins项目中使用shell命令做打包推送动作

粘贴图片

粘贴图片


shell命令:
DATE=$(date +%Y-%m-%d-%H-%M-%S)
CODE_DIR="./"
WEB_DIR="/home/deploy/nginx/html/"
WEB_IP="10.0.0.204"

get_code_tar(){
cd $CODE_DIR && tar zcf /opt/web-$DATE.tar.gz ./*
}
scp_code_web(){
scp /opt/web-$DATE.tar.gz $WEB_IP:$WEB_DIR
}
code_tarxf(){
ssh $WEB_IP "cd $WEB_DIR && mkdir web-$DATE && tar xf web-$DATE.tar.gz -C web-$DATE"
}
ln_html(){
ssh $WEB_IP "cd $WEB_DIR && rm -rf game && ln -s web-$DATE game"
}
main(){
get_code_tar;
scp_code_web;
code_tarxf;
ln_html;
}
main

浏览器访问web服务器显示成功

粘贴图片

7.3 配置web-hook

1. 开启触发器

粘贴图片

2. 生成token并保存

粘贴图片

粘贴图片

3. 复制token配置到gitlab

到gitlab页面:

粘贴图片

配置

粘贴图片

完成后点击:添加Webhooks

测试:修改代码推送到gitlab仓库的游戏项目中,会自动触发Jenkins拉取代码并将拉取到的修改后的代码推送到WEB服务器。

笔记
0人参与


 历史版本

备注 修改日期 修改人
修改标题 2025-11-23 00:28:44[当前版本] 文艺范儿
格式调整 2025-11-22 19:07:29 文艺范儿
创建版本 2025-11-22 19:05:54 文艺范儿

 附件

附件类型

PNGPNG

文艺知识分享平台 -V 5.2.5 -wcp