iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
DevOps

DevOps 萌新的 TeamCity 極速上手寶典系列 第 4

第四天:以 Docker 運行 TeamCity

  • 分享至 

  • xImage
  •  

雖然 TeamCity 軟體包已經將所有元件都打包成 Jar 檔,還寫了可以跨平台使用的 Launcher,但對於只是想用 TeamCity 卻不熟悉 JVM 的開發者來說仍不夠方便,或是對於 DevOps 團隊來說,維護不熟悉的技術棧工具仍有風險。這時,我們可以試試使用 Docker 來運行 TeamCity。

先建立一個可以運行 Docker 的環境

首先我們得先建立一個可以運行 Docker 的環境,這邊分兩條路,假如您是要在一台 Ubuntu Linux 上安裝可以對外運作的 Docker 環境的話,可以參考官網的 這份文件 來安裝。這邊將指令節錄如下:

# 設定 Repository
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
    
# Docker 官方 GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 指定 Stable Repository,這邊以 AMD64 為例,若是 ARM 機器請參考官網文件更換指令
$ echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
# 安裝 Docker 引擎
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io  

假如您只是要在自己的開發機上安裝 Docker 環境,則我會推薦直接安裝 Docker Desktop。直接到 這個網頁 ,依照您使用的作業系統下載安裝檔(macOS 是一個 .dmg 檔、Windows 則是一個 .exe 檔)後,依照安裝程式的指示完成安裝即可。

不論是用以上哪種方式安裝,完成後可以在終端機裡輸入指令測試一下是否成功:

$ docker --version

註:近期 Docker 更新了使用條款,別忘了檢查一下自己的使用範圍是否有需要做出對應的動作喔!

運行 TeamCity

有 Docker 環境後,可以直接用 TeamCity 官網下載頁 的這段指令啟動 TeamCity。

$ docker run -it --name teamcity-server-instance \
-v <path to data directory>:/data/teamcity_server/datadir \
-v <path to logs directory>:/opt/teamcity/logs \
-p <port on host>:8111 \
jetbrains/teamcity-server
# 範例
$ docker run -it --name teamcity-server-instance \
-v /Users/shengyou/JetBrainsRing/data:/data/teamcity_server/datadir \
-v /Users/shengyou/JetBrainsRing/logs:/opt/teamcity/logs \
-p 8111:8111 \
jetbrains/teamcity-server

在這邊提醒一下,記得要自行更換以上指令裡的路徑及埠號。若看到終端機裡回應啟動完成就代表 TeamCity 已經準備好第一次的啟動設定,我們後續會再詳細說明首次啟動設定要做的動作。若要關閉,則在終端機裡按下 Ctrl+C 即可。若好奇 Docker 的動作,可以開啟 Docker Desktop 圖型介面查看使用到的 Image 及 Container。

適用情境

本篇文章使用的安裝方式,比較適合以下幾種情境:

  1. 不熟悉 JVM 生態系,排斥手動安裝 JDK 的人
  2. 熟悉 Docker 操作,習慣透過 Docker 建立隔離環境
  3. 擁有整台主機的控制權,有足夠權限可以使用 Docker

參考資料


上一篇
第三天:以軟體包安裝 TeamCity
下一篇
第五天:使用 TeamCity Cloud
系列文
DevOps 萌新的 TeamCity 極速上手寶典31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言