105.發佈php代碼

26.4/26.5 發佈php代碼php

擴展:java

1 請同窗們自行建立一個私有git倉庫,把discuz代碼push進去,並整合到你的jenkins任務裏linux

2 動手更改若干php代碼文件,而後發佈到線上git

3 思考一下,如何回滾?github

 

 

26.4/26.5 發佈php代碼web

 

 

1.「系統管理」>「管理插件」>「已安裝」vim

檢查是否有「Git plugin」和「Publish Over SSH」兩個插件,若是沒有,則需點擊「可選插件」,找到它並安裝瀏覽器

2.安裝好兩個插件後,點擊「系統管理」 「系統設置」服務器

下拉,找到「Publish Over SSH」ssh

3.事先在一臺linux服務器上生成一對密鑰

ssh-keygen -f /root/.ssh/jenkins //能夠設置密碼,也可不設置

4.「Passphrase」填寫設置的密碼, 「Path to key」留空,「key」粘貼/root/.ssh/jenkins文件內容

5.點擊左下角「增長」,SSH Server,name自定義,Hostname填寫線上web服務器的ip,Username填寫root,Remote Directory填寫/

6.若是是多臺web server,繼續點擊「增長」,重複以上操做

7.點左下角的「保存」

8.點擊「新建」,任務名稱自定義,好比test,選擇「構建一個自由風格的軟件項目」點擊下方的「肯定」

9.描述,自定義

10.「源碼管理」選擇 「Git」

「Repository URL」填寫你項目的git地址,若是是公共項目能夠不設置下面的參數,直接填寫一個git地址便可,如果私有項目,須要填寫認證信息,好比能夠選擇 「SSH Username whith private key」,而後設置Username以及private key

「Branches to build」 默認爲*/master,意思是發佈的分支爲master,保持默認

11.「構建觸發器」和「構建環境」留空

「構建」,選擇 「Send files or execute commands over SSH」

SSH Server,Name 選擇對應的服務器,Transfers, Source files填寫**/**,表示所有文件

Remove prefix能夠指定截掉的前綴目錄,這裏留空便可,Remote directory指定遠程服務器上代碼存放路徑,好比/data/wwwroot/www.aaa.com,Exec command爲文件傳輸完成後要執行的命令,好比能夠是更改文件權限的命令,設置完成後點擊 「Add Transfer Set」,若是還有另外的機器,能夠點擊 「Add Server」重複以上操做

12.最後點擊左下角的「保存」

13.完成以上操做後,就可使用這個剛剛建立的任務去工做了。

14.點擊左面的「當即構建」,就能把git上的代碼發佈到指定的服務器上。

15.點擊左下角的#1/#2… ,而後再點擊 「Console Output」能夠查看輸出日誌

 

 

 

實例:

 

 

 

 

 

[root@axinlinux-01 ~]# cd /root/.ssh/ #由於咱們以前已經生成過密鑰對了,就不用ssh-keygen -f /root/.ssh/jenkins來生成了(-f指定他的文件名)。直接使用這對密鑰就能夠了

[root@axinlinux-01 .ssh]# ls

authorized_keys id_rsa id_rsa.pub known_hosts

 

 

 

[root@axinlinux-02 ~]# vim .ssh/authorized_keys #在瀏覽器上設置了私鑰,要去訪問遠程機器的時候,遠程機器上也要有公鑰纔對。將服務器生成的公鑰放在遠程機器(02機器)的這

#####axinlinux-01jenkins

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXXjoeyXRbpHSwxJa8kvnGev9HV7xqHfQxxVL711ypsMMaKGlpcRVGhRWNkfzS37W0jAfnVZJX3/nSD2BEcrmqmPAxRG48+OZMBhEqh6g6KeCe0JgOA0azm/gpujrrcRNLxbVsT6dTGiRzxfvAG2OPqwOCWN/a3QMPXpdd2IDVTSAw0GMDBYUpr+tHu1DzeVogt5wvdkcBAtb9+caDAAWM0uZLLlG/mZ+Zm2FqX7j8J9LPpy2LIeJF0OBbzeFHMHT1zdUkpLBL5FQSmQ2hrwweT3iqcBXB/A7MNQNan7SFAW4vj7LiUWuxA301RBHuY8e9sS74nLb9lJZds1yle5Hz root@axinlinux-01

[root@axinlinux-01 .ssh]# ssh 192.168.208.130 #咱們直接遠程ssh02,是能夠登的

Last login: Thu Dec 20 20:44:43 2018 from 192.168.208.1

回到瀏覽器上

繼續增長一臺ssh server

[root@axinlinux-02 .ssh]# vim authorized_keys #將公鑰放到須要添加機器的authcrized_keys裏去

最後在點擊保存

插件及機器配置完成之後,開始建立任務

 

 

以上,Repository URL這裏寫的是你最新代碼的地址,就是取哪裏獲取。生產環境中可使用github或者gitlib代碼管理平臺裏,項目的地址。如今實驗就用了coding.net裏的非代碼平臺的地址

Credentials這裏是none(無),就是說好比我弄了個私有倉庫,這個倉庫只有我才能訪問,須要你增長用戶名密碼或者密鑰,才能去克隆。須要在後面添加一些用戶密碼等等。後面章節java項目會有講到

以上圖,是如何拷貝實驗用的URL(源碼地址)。生產環境使用gitlib等的地址

php是不須要構建觸發器(何時去觸發這個任務)和構建環境的。好比咱們用的是java的代碼,你克隆出來之後是開源的源碼的,還須要去打包、編譯才能去發佈。php自己就是源碼的因此不須要

以上,name選擇好比axin-01機器

source files就是你把代碼拉下來以後,要發佈哪些代碼。**/**這個就是所有的意思

remote directory就是你把代碼發佈到遠程什麼目錄下去

以上,保存以後。就能夠構建了

任務完後以後。咱們要把代碼發佈到對方機器上去

查看他最後的輸出結果是否是Finished: SUCCESS。發現報錯了:

 

 

在回到linux上,查看

[root@axinlinux-01 .ssh]# ls /tmp/jenkins_test/

D11Z D12Z D13Z D14Z D15Z D17Z D18Z D19Z D20Z D21Z D22Z LICENSE README.md 習題答案.txt

[root@axinlinux-01 .ssh]# ls -l !$

ls -l /tmp/jenkins_test/

總用量 100

drwxr-xr-x 2 nobody nobody 66 12月 20 22:14 D11Z

drwxr-xr-x 2 nobody nobody 260 12月 20 22:14 D12Z

drwxr-xr-x 2 nobody nobody 24 12月 20 22:14 D13Z

drwxr-xr-x 2 nobody nobody 4096 12月 20 22:14 D14Z

drwxr-xr-x 2 nobody nobody 4096 12月 20 22:14 D15Z

drwxr-xr-x 2 nobody nobody 25 12月 20 22:14 D17Z

drwxr-xr-x 2 nobody nobody 76 12月 20 22:14 D18Z

drwxr-xr-x 2 nobody nobody 155 12月 20 22:14 D19Z

drwxr-xr-x 2 nobody nobody 83 12月 20 22:14 D20Z

drwxr-xr-x 2 nobody nobody 200 12月 20 22:14 D21Z

drwxr-xr-x 2 nobody nobody 128 12月 20 22:14 D22Z

-rw-r--r-- 1 nobody nobody 18044 12月 20 22:21 LICENSE

-rw-r--r-- 1 nobody nobody 419 12月 20 22:21 README.md

-rw-r--r-- 1 nobody nobody 66243 12月 20 22:21 習題答案.txt

[root@axinlinux-02 .ssh]# ls /tmp/123456/

D11Z D12Z D13Z D14Z D15Z D17Z D18Z D19Z D20Z D21Z D22Z LICENSE README.md 習題答案.txt

[root@axinlinux-02 .ssh]# ls -l !$

ls -l /tmp/123456/

總用量 100

drwxr-xr-x 2 nobody root 66 12月 20 22:14 D11Z

drwxr-xr-x 2 nobody root 260 12月 20 22:14 D12Z

drwxr-xr-x 2 nobody root 24 12月 20 22:14 D13Z

drwxr-xr-x 2 nobody root 4096 12月 20 22:14 D14Z

drwxr-xr-x 2 nobody root 4096 12月 20 22:14 D15Z

drwxr-xr-x 2 nobody root 25 12月 20 22:14 D17Z

drwxr-xr-x 2 nobody root 76 12月 20 22:14 D18Z

drwxr-xr-x 2 nobody root 155 12月 20 22:14 D19Z

drwxr-xr-x 2 nobody root 83 12月 20 22:14 D20Z

drwxr-xr-x 2 nobody root 200 12月 20 22:14 D21Z

drwxr-xr-x 2 nobody root 128 12月 20 22:14 D22Z

-rw-r--r-- 1 nobody root 18044 12月 20 22:21 LICENSE

-rw-r--r-- 1 nobody root 419 12月 20 22:21 README.md

-rw-r--r-- 1 nobody root 66243 12月 20 22:21 習題答案.txt

 

若是咱們有對代碼作改動,改動以後,直接點當即構建就能夠了。就會自動的發佈到遠程機器上去

相關文章
相關標籤/搜索