iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
0

要使用 Concourse 需要先建構環境,所幸 Concourse 團隊提供了不少方法讓我們可以簡單的安裝環境。

這個段落著重在 Docker 的安裝,其他僅會簡單說明

Vagrant

如果是開發測試用,可以使用 Vagrant 的 VM 來安裝。

vagrant init concourse/lite
vagrant up

Concourse 已經製作好 Vagrant 用的安裝檔,所以我們只需要用 Concourse 提供的樣板初始化後,就可以直接使用。

Binary

透過普通的二進位檔來安裝,需要有以下環境。

  • OS
    • Linux 3.19+
    • macOS
    • Windows
  • PostgreSQL 9.3+

實際上除了 Linux 有版本需求外,其他作業系統都能直接運行。

在官網的 Downloads 頁面下載二進位檔放到 /usr/local/bin 即可。

別忘記把二進位檔重新命名為 concourse 並且 chmod +x concourse 後再放到 /usr/loca/bin

另外我們需要產生三組私鑰。

  • Sessign Signin Key - 用於使用者登入
  • Host Key - 用於 Concourse 客製化的 SSH 伺服器
  • Worker Key - 用於驗證 Worker
ssh-keygen -t rsa -f host_key -N ''
ssh-keygen -t rsa -f worker_key -N ''
ssh-keygen -t rsa -f session_signing_key -N ''

最後再用 cp worker_key.pub authorized_worker_keys 設定 Authorized Keys。

完成設定後,就可以用 concourse 指令來開啟 Web UI 和任務管理器。

concourse web \
  --basic-auth-username 管理員帳號 \
  --basic-auth-password 管理員密碼 \
  --session-signing-key session_signing_key \
  --tsa-host-key host_key \
  --tsa-authorized-keys authorized_worker_keys \
  --external-url http://網址

如果你的 PostgreSQL 並不是裝在本機的話,可以用 --postgres-data-source 來指定伺服器位置,用的是 JDBC 的格式,如 postgres://user:pass@10.0.32.0/concourse 這樣的形式。

最後,為了要可以執行我們的任務,需要啟動 Worker 來執行。

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 管理器位置 \
  --tsa-public-key host_key.pub \
  --tsa-worker-private-key worker_key

管理器位置如果在同一台電腦上,直接用 127.0.0.1 即可,但是如果是在其他主機,則指定對應的 IP 就可以了(並且要注意 Port 2222 是開啟的狀態,這樣 Concourse 才能透過自訂的 SSH 伺服器溝通)

下一篇會以 Docker 為主詳細討論用 Docker 建置環境的步驟。


上一篇
03 - Concourse 的運作機制
下一篇
06 - 用 Fly 控制 Concourse
系列文
不一樣的 CI/CD 工具:Concourse 初探30

尚未有邦友留言

立即登入留言