1、介紹
TeamCity是一款成熟的CI服務器,來自JetBrains公司。它的免費版本中提供了所有功能,但僅限於20個配置和3個構建代理,額外的構建代理和構建配置需要購買。
TeamCity 和 Jenkins、Hudson 其實是非常一樣的,基本流程都是差不多的,所以如果你會其他的幾個 CI 工具的話,學習起來很快。
下載地址:https://www.jetbrains.com/teamcity/download/#section=get
以下分享簡單的CI\CD流程(參考):
2、安裝
TeamCity可以通過執行文件安裝,也可以在Docker容器中運行。以下是通過gz包在linux系統安裝步驟(供參考)
前期環境准備:
- JDK 1.8或以上
- Maven
- Git
- vim
- wget
2.1 下載
2.2 解壓
tar xfz TeamCity-2020.1.3.tar.gz?_ga=2.260991236.824849827.1597283583-718468322.1597283583
進入conf目錄,打開server.xml修改對應的端口(我這里是80)
保存退出
2.3 啟動
進入bin目錄,運行 ./runAll.sh start
3、登錄配置
3.1 訪問http://localhost:80
PS:如果訪問不通,請查看防火牆狀態
3.2 配置關系型數據庫,建議測試可以默認,生產要選擇自己安裝的。
3.3 創建用戶名密碼
4、創建項目
4.1 點擊 Create project
4.2 項目配置:gitlab
4.3 填寫項目名稱
4.4 maven 配置
- 1、Goals: 執行命令例如 clean install package
- 2、Addition maven:例如 -Dmaven.test.skip=true
- 3、Working directory:可以隨意,也就是打包的位置
- 4、選擇自定義的maven、jdk
PS: 如果此時點擊run運行可能會報
Warning: No enabled compatible agents for this build configuration. Please register a build agent or tweak build configuration requirements.
4.5 配置TeamCity所需的Agent服務
1、進入目錄buildAgent
2、修改conf下buildAgent.properties中 serviceUrl地址和Agent名字
3、進入bin目錄 ./agent.sh start
此時進入TeamCity主頁看到Agent服務是否可以看到,如果看不到請看《2.3啟動》
4.6 run項目
進入頁面Project,選擇項目teamcitydemo中build中,右上角選擇啟動的Agent服務
此時點擊run 就大功告成了
Ps:以上步驟,只是將項目通過git拉取,然后通過maven構建到服務器某個目錄中。
如果需要運行Jar或者War包,可以通過執行命令行一樣,jar xxx.jar或者把war包部署到web服務器中。
(就是在配置中增加buildSteps 選擇執行命令行選項,比如 cp 、jar xx.jar)
也可以結合docker進行容器部署,請參考《6、整合docker,利用docker-compose掛載jar,並運行》
5、配置Trigger自動監控
5.1 進入項目,進入配置模塊,選擇VCS trigger
5.2 客戶端 idea提交代碼測試,Teamcity會自動發現並構建
5.3 也可以做定時觸發
6、整合docker,利用docker-compose掛載jar,並運行
6.1 centos7 安裝docker步驟省略。。。。(自行百度)
6.2 安裝docker compose
可參考官方文檔:https://docs.docker.com/compose/
這里使用pip方式安裝:sudo pip install docker-compose(突破平時安裝方式,pip方式不知道,自行百度)
安裝成功測試 docker-compose -v
6.3 運行yml文件 (本文是通過編寫dockerfile文件,在yml中build .)
前提會寫dockerfile文件
編寫yml文件
啟動:(會覆蓋之前鏡像,配合teamcity做到持續更新部署)
docker-compose up -d --build --force
docker ps查看下
6.4 測試是否成功訪問