https://{workspace-url}.slack.com/apps
並搜尋 Jenkins CI 這個應用程式進行安裝:註:如果是直接使用在 Ansible 章節的範例來安裝 Jenkins,這個插件已經在 plugins.txt 中被我預先搭載了。讀者可以根據自己的需求修改這份安裝列表,或是利用 Ansible 的 jenkins_plugin 模組來管理 Jenkins 插件。
Vagrantfile
添加第二台主機:Vagrantfile
。現在我們定義了第二台虛擬主機,並將其命名為 target
。由於這台主機並不需要安裝 Jenkins,所以我們只需要單純地告訴 Vagrant 它的作業系統即可。設置完畢後運行 vagrant reload
重新啟動主機並載入新的 Vagrantfile
。重啟完畢後透過 vagrant ssh-config
查看虛擬機狀況:Vagrantfile
裡定義了兩台主機,因為在使用 vagrant ssh
時我們要在後面加上主機名稱才知道要登入哪一台,舉例來說,我想要在 target 的主目錄下建立一個 jenkins_artifacts 的資料夾可以這樣做:如果是使用 Ansible 實戰安裝 Jenkins 的讀者,由於我是將 Jenkins 運行在 Docker 內,所以在登入 server 虛擬機後,還需要透過以下指令進入運行 Jenkins 的容器:$ sudo docker exec -it docker-jenkins /bin/bash登入以後再依正常方式進行 SSH 配對即可。
vagrant ssh-config
的指令中我們看到 HostName 是 127.0.0.1
,但 Vagrant 會預設自動幫所有虛擬機的 localhost IP 轉介成 10.0.2.2
,以便我們若要從本機端操作虛擬機的時候不至於與本機衝突。vagrant
。vagrant
。10.0.2.2
,因此我們必須在這邊強調不同伺服器對應的 port 口。從上面的 vagrant ssh-config
中我們可以看到 Jenkins 安裝主機被分配的 port 是 2222
,而 target 主機的 port 則是 2200
。env_var.txt
以模擬一個建置產物。接著在建置後動作的欄位下,選擇 Send build artifacts over SSH。在 SSH Server 的下拉式選單中可以選擇剛剛設定好的 SSH 主機,若我們今天有多個部署主機,可以在下拉式選單中進行更改。另外,在 Transfers 的欄位裡我們可以設定要傳輸的檔案、結構目錄以及是否要對傳輸檔案進行其他動作: