日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)...

發布時間:2025/3/15 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. jenkins 的配置

1.前提條件安裝了GitLab Plugin (源碼管理使用),GitLab Hook(gitlab webhook需要)

Manage Jenkins--->Manage Plugin ---->Available 去找到安裝。

2. ?創建 job ,選擇 自由風格的項目,點擊ok

3. 源碼管理

描述配置

源碼管理:要想連接 gitlab服務器,有兩種選擇,用http協議或者 ssh協議,這里我們使用ssh

首先填寫 ?gitlab 的url

配置到gilab 的認證: Credentials ,點擊ADD,復制 gitlab ssh密鑰對的私鑰到下圖.

認證成功如下圖:沒有任何報錯了

說明: ?如果 gitlab 配置了ssh 密鑰對,jenkins這邊也添加了 包含私鑰的憑證還是無法正常連接的話,參考:?https://www.cnblogs.com/yitianyouyitian/p/10027552.html

4. 構建觸發器設置

勾選如下, 下面的url是回調地址, gitlab webhook 那邊的設置會用上.

區分分支 觸發構建 設置如下: 只用master分分支變化后才會觸發構建.

5. 構建

選擇 ?Execute shell

shell腳本編寫,將 代碼同步到web服務器目錄,重啟服務。

注意: shell命令的執行 是在 jenkins 的job 的workspace 目錄進行的. 這里是項目 php1的工作目錄 ?/root/.jenkins/workspace/php1 。jenkins從gitlab pull的代碼就是放置在這里.

注意: 在這踩坑了,執行 rsync 總是失敗,提示permission deny。問題是ssh 無密碼訪問的問題。這里的jenkins 訪問 遠程主機 ?使用的不是默認名字(id_rsa等)的密鑰。解決方法如下.

#在 /etc/ssh/ssh_config 添加如下內容

#指明命令中 需要ssh 遠程的主機鎖使用的用戶和密鑰。

Host172.10.30.228user root

IdentityFile~/.ssh/id_rsa1

#防止彈出判斷選擇

StrictHostKeyChecking no

二. gitlab 配置

1. gitlab webhook 設置

進入 project .點擊 setting-----> integrations設置。注意不是 管理區域的 系統鉤子.

填寫 上面 ?構建觸發器中的 url. 安全令牌有無都可以(令牌來自jenkins構建觸發器中選中的Build When a change is pushed右下角的高級選項,有一個Secret token,點擊 Generate,會生成一個安全代碼).

點擊 test來測試是否可以成功觸發.

出現的問題: test 的時候 出現403 anonymous is missing the Job/Build permission??錯誤。參考:?https://blog.csdn.net/u011662047/article/details/80525503

兩步解決問題 (測試了,其實只需要第一步就ok了。)

1. 系統管理 -> 插件管理 -> 安裝插件gitlab hook

2. 系統管理 -> 系統設置 -> 去掉 Enable authentication for ‘/project’ end-point

其他朋友總結的錯誤:

再記錄一個坑: ?gitlab 這邊 test web hook 成功。但是push后不觸發jenkins的構建.找了半天是gitlab 的服務sidekiq 和unicorn沒有啟動,吐血了。。。

總結

以上是生活随笔為你收集整理的jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。