jenkins+gitlab构建php项目

环境介绍,centos8+php+jenkins+gitlab

jenkins安装:
https://www.cnblogs.com/stronger-xsw/p/12795888.html
gitlab安装:
https://www.cnblogs.com/stronger-xsw/p/12802069.html

jenkins使用

1,新建一个项目

2,创建一个风格自由的php-test项目

3,Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿

4,代码管理选择git,如图我们使用ssh登录,报错

将git路径存在这里还需要权限认证,否则会出现error

jenkins服务器上生成SSH-Key

[root@test src]# yum install -y git
[root@test src]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:puqiMiPEb5La/DP2Qs6lPtgVcFPY9AeOMzFOMbid3Kg root@test
The key's randomart image is:
+---[RSA 3072]----+
|       *O..      |
|    . =o.B .     |
|     o ==+o .    |
|      o =o..     |
|.      oS        |
| o  . Eo         |
|. o* +.          |
|==oo@.           |
|*+=*=*.          |
+----[SHA256]-----+
[root@test src]# cat /root/.ssh/id_rsa.pub
ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAABgQDCI5TJhuM/3XOWKk1kypgeaYnCoezClBwKQahNbwf5NStXZalZ2PRoxfB1MEIWyVQQ90vZEVif5J5CCW10wUABJgavnf5LZEtZ4uilaXDvqcLeE/h4HTOhWs6U73BCdP4gDQEzWHiccE6O258aelwCBwD0ZCP8VLErfOufoCp1VPceA
AISF7kPJO66Lfqilwy1m6Og35NrBU1w5JqWUH8vPDl7zkaYt1e6NF6dDxW0uDz9wZUoFfrHReknYpRThejbvPEYHkL4dO6SH/RfQEf3hEisaiX50K5AJ81FwuDpzwnBLuHqvr/B10bhwXxfWN9gEYfCqxMvor+v1i36KVK52wEwRL1y2Nv3MhuNMskiEZlNotYTwTLdPFKxa/vN
Q6KJVsSRB9TfBEOOH9LOTCoyBJswn5WxC0nyu0EdOp+XDECSvfKGr9Myo7RFYcheSLIQU2tLGqAHt1XPNIbmL92jwg9dJhyUOFFJGvhZXMrKMSPUpFqvQiBI5pfKtMH0y1U= root@test

5,登录gitlab后台,配置ssh-key

再进入项目,使用刚刚配置的公钥

6,配置好以后,看看是否能正常拉取代码
git clone git@192.168.110.132:root/tp6.git

如图说明是可以正常拉取的

7,接着第四步,解决配置ssh登录报错问题
首先,在全局工具里面配置git目录

在服务器使用whereis git

配置:

再回到原先git配置那里,添加ssh


添加私钥

私钥在.ssh/id_rsa里面
cat /root/.ssh/id_rsa

粘贴过去,解决报错
8,保存jenkins配置

立即构建


/var/lib/jenkins/workspace/php-test目录用于存放代码信息,如图:

9,这里我们拉取的代码需要推送到远程代码目录,需要如下操作:(此步骤先不做,跳过)
假设当前root@test服务器为web服务器,nginx指向目录为/www/tp6
mkdir /www/tp6 -p
添加node2的免秘钥登陆

rsync -raz --delete --progress *root@192.168.110.132:/www/tp6

10,本地修改代码,提交,git构建
修改如图:


访问:

11,如果需要构建gitlab上不同分支代码,需要安装插件Git Parameter

选择可用的插件,搜索,直接安装,安装成功以后,可以在已安装列表看到

12,再去配置项目,选择参数化构建
取个变量名,写下备注,Parameter Type选择branch or tag

源码管理中,在Branch Specifier中填入刚才的变量名,注意要加$

保存,返回去构建

13,构建相应的分支就可以了

14,效果如图

posted @   八戒vs  阅读(1224)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示