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

歡迎訪問 生活随笔!

生活随笔

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

python

python 持续集成方案_Jenkins+Python+GitLab持续集成

發(fā)布時間:2025/3/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 持续集成方案_Jenkins+Python+GitLab持续集成 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

創(chuàng)建任務

登錄Jenkins,點擊左側(cè)列表的新建選項。輸入任務名稱,選擇構(gòu)建一個自由風格的軟件項目,點擊確定。

配置

在任務配置界面,可以設置General標簽中的丟棄舊的構(gòu)建選項,設置保持構(gòu)建的天數(shù)和保持構(gòu)建的最大個數(shù)。

點擊源碼管理標簽,選擇git,在Repository URL中輸入Git倉庫的鏈接。

如果是HTTP鏈接,選擇Credentials一行的Add > Jenkins,在Kind一行下拉選擇Username with password,在下方Username和Password框中輸入用戶名和密碼。

使用docker jenkins容器里面的ssh-key。

直接使用服務器的ssh key就可以了。如果指定Path to key需要使用docker中的ssh key。如果使用Source files那么需要使用docker容器中的key, 因為Source files的相對路徑不是固化到本地的路徑, 而是docker中的路徑.

如果是SSH鏈接,選擇SSH Username with private key,在Username框中輸入用戶名,Private Key選擇為Enter directly,在顯示的key框中輸入私鑰。(生成秘鑰ssh-keygen -t rsa -C "email.com",生成的文件在home目錄下的.ssh目錄下,使用命令cat id_rsa查看私鑰,復制到key框中)。點擊最下方的Add按鈕,保存設置。

在Credentials的下拉選項中選擇剛剛創(chuàng)建Username。

使用定時任務

在構(gòu)建觸發(fā)器標簽里選擇Poll SCM,輸入H/2 * * * *, 最后點擊保存。

這是一個定時任務,每隔2分鐘查詢一次代碼,如果有更新,就執(zhí)行任務。

使用webhook

使用webhook比定時任務更好,webhook只有在push或指定操作時,jenkins會拉取代碼,不用定時訪問,耗費資源。

需要安裝的插件Gitlab Hook、GitLab、Gitlab Authentication、Build Authorization Token Root

配置job,在構(gòu)建觸發(fā)器中勾選Build when a change is pushed to GitLab. GitLab CI Service URL: http://服務器IP:8080/project/demo ,URL后面是回調(diào)地址,再點擊高級,再Secret token行,點擊Generate生成token。

在GitLab服務器上的相對應的項目的Settings里面的Integrations中,配置webhook,輸入在jenkins中獲取的URL,和token,可以根據(jù)需要勾選事件,開啟SSL,點擊Add webhook。會在Add webhook按鈕下生成一個webhook,點擊test,會彈出勾選的事件,選擇相應的事件,會在頁頂彈出Hook executed successfully: HTTP 200,到此,webhook配置完成。

注意:在腳本中使用docker exec執(zhí)行容器中的命令是, 不要指定-it, -t是指定tty, 而jenkins中沒有tty, 只需要指定-i即可.

1 將代碼部署到遠程服務器

不需要使用容器中的ssh-key。

在jenkins服務器上生成keyssh-keygen -t rsa -C "email.com",

使用ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip(如果端口不是22,可以添加參數(shù)-p port進行修改,port為端口數(shù)值), 將生成的公鑰保存在目標服務器。這樣可以免密碼登錄。

安裝Publish over SSH插件,在系統(tǒng)管理-->系統(tǒng)設置里面找到Publish over SSH。

配置Jenkins SSH Key,如果key在生成時設置了密碼,就在Passphrase里輸入密碼,沒有則忽略。

復制私鑰,粘貼進Key里面。

配置SSH Servers,點擊增加。Name為SSH的名稱,Hostname是遠程服務器的IP地址,Username是登錄的用戶名,Remote Directory是遠程服務器的目錄,必須是真實存在的,插件不會自動創(chuàng)建。

點擊Test Configuration測試配置是否成功。成功會顯示Success。

1.1遠程部署任務

再創(chuàng)建一個構(gòu)建任務,當有觸發(fā)任務時,構(gòu)建任務運行。

還是點擊新建,輸入一個任務名稱,不點擊構(gòu)建一個自由風格的軟件項目,在最下面的復制框中,輸入剛剛創(chuàng)建的觸發(fā)任務名稱。

點擊確定。如果輸入的任務名不存在,會報錯,并讓你重新輸入一次。

在構(gòu)建觸發(fā)器中選擇Build after other projects are built,在其他項目建成后進行構(gòu)建,Projects to watch選擇第一個任務,可能會報錯No such project ‘gol’. Did you mean ‘golismero’?,不用理會,如果是單個任務,可以把最后面的,逗號和空格刪除,就不會報錯了,不刪也沒有影響。

勾選下面的Trigger only if build is stable,只有在構(gòu)建穩(wěn)定時才觸發(fā)。

其他設置不變,構(gòu)建后操作中增加構(gòu)建后操作步驟,在彈出的選項中選擇Send build artifacts SSH,輸入SSH Server Name(是遠程主機IP),然后在Transfers中的Exec command中輸入腳本命令,其他選項暫時不用填寫。

Source files是相對于workspace下項目目錄的目錄, 是一個相對目錄, 如果在workspace目錄, 即jenkins的工作目錄, 那么需要填寫**/, 后面可以跟工作目錄下的文件或文件夾.

Remove prefix文件復制時要過濾的目錄.

Remote directory文件得到到遠程機上的目錄,此目錄是相對于SSH Server中的Remote directory的,如果不存在將會自動創(chuàng)建。

保存,即可看到觸發(fā)任務和構(gòu)建任務。

還有另一種方式可以部署

2 SSH插件部署

這種方式需要安裝SSH插件。

點擊Credentials-->System-->Add domain,在Domain Name中輸入名稱,Description描述,可寫可不寫,Specification保持默認為Add,點擊ok。在新頁面點擊左上的Add Credentials,輸入遠程登錄的Username和Password,點擊OK。

點擊系統(tǒng)管理-->系統(tǒng)設置,找到SSH remote hosts,配置SSH site,點擊增加,輸入Hostname主機IP,Port遠程連接端口(一般為22),Credentials選擇剛剛創(chuàng)建Domain,和Username相同,點擊Check connection,顯示Successfull connection,成功,點擊保存。

2.1 遠程部署任務

基本和1.1相同,但是這個是在構(gòu)建中增加構(gòu)建步驟,在彈出的選項中選擇Execute shell script on remote host using ssh,默認會自動填寫SSH site(如果沒有填寫,點擊輸入框看看有沒有,如果沒有可能是前面出現(xiàn)錯誤),可能會有紅字報錯SSH Site not specified,不用理。在Command輸入框中輸入shell腳本。保存即可。

這種方式?jīng)]有第一種構(gòu)建的快。

配置郵件

可以安裝Email Extension Plugin插件,擴展郵箱功能。

點擊左側(cè)的系統(tǒng)管理,在管理Jenkins列點擊系統(tǒng)設置,在新頁面找到Jenkins Location,在系統(tǒng)管理員郵件地址欄中輸入發(fā)件人,格式為標題,再找到郵件通知,點擊高級按鈕,添加SMTP服務器,以及郵件后綴(@xxx.com),使用SMTP驗證的用戶名為完整的郵箱賬號,密碼是授權(quán)碼。(騰訊企業(yè)郵箱如果綁定了微信,在設置-微信綁定-客戶端專用密碼,生成授權(quán)碼,保存設置。)勾選使用SSL協(xié)議,SMTP端口是465, Reply-To Address填寫收件人地址。

高級版郵件通知

需要安裝Email Extension插件,安裝好后,點擊系統(tǒng)管理-->系統(tǒng)設置找到Extended E-mail Notification,配置SMTP server服務器地,格式為smtp.exmail.qq.com(這里用騰訊企業(yè)郵箱作為例子).

Default user E-mail suffix設置郵箱后綴,就是@及后面的字符@xxx.com.

Default Content Type默認發(fā)送的內(nèi)容類型選擇HTML/(text/html).

Default Recipients默認收件人,可以設置多個收件人,中間用,隔開,英文狀態(tài)下的符號.

Default Subject默認主題不用改,也可以在最前面加一些文字,比如構(gòu)建通知.

Default Content這里面是默認模板,可以在網(wǎng)上找模板更改,也可以自己寫,html類型。

點擊上面的高級按鈕,勾選Use SMTP Authentication,輸入Username和Password,Password是客戶端授權(quán)密碼要和配置郵件中的授權(quán)碼一樣,勾選SSL,點擊保存。

為單個的Job增加構(gòu)建后步驟,

選擇Editable Email Notification, 在Project Recipient List收件人列表中輸入收件人郵箱, 多個可以用,分割, 想使用全局默認配置的話, 可以使用$DEFAULT_RECIPIENTS.

Project Reply-To List允許回復人列表, 默認值$DEFAULT_REPLYTO。

Content Type文檔類型, 可以設置HTML。

Attach Build Log發(fā)送的郵件是否包含日志。

點擊Advanced Settings, 在Triggers中, 刪除Sent To默認的Developer List, 點擊Add添加Recipient List, 保存完成。

總結(jié)

以上是生活随笔為你收集整理的python 持续集成方案_Jenkins+Python+GitLab持续集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。