TeamCity安裝和配置

TeamCity安裝和配置

前言

持續集成(CI)

TeamCity是JetBrains旗下的一款持續集成[Continuous Integration,簡稱CI]工具,開箱即用。學習TeamCity以前首先須要明確一個概念,什麼是持續集成(CI)?git

持續集成(CI)是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,一般每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。———《百度百科》github

TeamCity

業界的CI工具已經有不少了,好比開源工具Jenkins,以及CircleCI、GitLab CI等,本文不討論各CI工具的優劣,旨在介紹TeamCity的使用方式。數據庫

TeamCity是一款功能強大的持續集成(Continue Integration)工具,包括服務器端和客戶端,目前支持Java,.Net項目開發。TeamCity提供一系列特性可讓團隊快速實現持續繼承:IDE工具集成、各類消息通知、各類報表、項目的管理、分佈式的編譯等等,全部的這些,都是 讓你的團隊快速享有持續繼承帶來的效率提高、高質量的軟件保障。vim

環境

  1. JDK 1.8
  2. Maven 3.6
  3. TeamCity 2019.1.5
  4. SpringBoot 2.1.4.RELEASE
  5. Ubuntu 16.04
  6. GitHub

注意:此環境爲本文使用環境,各位同窗可根據本身公司生產環境酌情配置。後端

安裝

1.Ubuntu系統下使用wget命令下載或者下載到本地以後,再拷貝到服務器上。瀏覽器

下載

2.下載完成後經過tar -xvf fileName 命令,將文件解壓。緩存

3.將解壓後的文件夾移動至/usr/local/並重名爲:TeamCity(我的習慣,以方便服務器上軟件管理,此步驟可省略),並cd到解壓後TeamCity目錄下的bin文件夾下,效果以下:服務器

菜單

4.在此目錄下執行./runAll.sh start 以啓動TeamCity。查看進程檢查是否啓動成功。以下圖,TeamCity啓動成功,默認端口爲8111網絡

進程

5.經常使用配置

若是你要改變端口,找到下面這個 8111 位置:vim /usr/local/TeamCity/conf/server.xml

<Connector port="8111" ...

啓動程序:/usr/local/TeamCity/bin/runAll.sh start

中止程序:/usr/local/TeamCity/bin/runAll.sh stop

配置TeamCity

1.經過瀏覽器訪問服務器IP:TeamCity端口,便可訪問到以下頁面。假設你已經能夠訪問到這個頁面,首先配置TeamCity軟件緩存目錄,默認爲/root/.BuildServer(初次使用不建議修改),點擊Proceed

點擊查看更多 TeamCity Data Directory 目錄

配置1

2.TeamCity將構建歷史記錄,用戶,構建結果和一些運行時數據存儲在SQL數據庫中。官網建議在首次使用的時候選擇默認的:Internal(HSQLDB),可是,在生產環境中強烈建議將外部數據庫用做後端TeamCity數據庫。在本文中咱們選擇默認的:Internal(HSQLDB),而後進入漫長的等待。

點擊查看更多 TeamCity External Database 配置

配置2

3.等待構建初始化

配置loading

4.建立一個超級管理員用戶(此步驟忘記截圖,此圖片來源網絡)

此圖片來源網絡

5.本文跳過了完善基礎信息步驟,若有須要,可自行百度

項目構建

項目可參考TeamCity測試項目

咱們以此項目爲例,將其經過TeamCity管理,實現自動構建併發布到本服務器上。

1.點擊選擇Project --> Create Project

構建項目1

2.選擇:Create project from URL,輸入項目地址和GitHub帳戶密碼

TeamCity 支持 HTTP(S)、SVN、Git 等連接方式。

3.帳號、密碼驗證經過以後,生成該項目的基礎信息。

項目名中有-生成項目名時不會帶出,須要手動添加。

4.TeamCity自動掃描到此項目是用Maven構建而成,因此把POM文件找了出來,若是你一個項目有多種構建方式,有對應的配置文件的話,這裏都會顯示出來的。此處咱們勾選Maven前面的複選框,點擊:Use Selected

5.因爲咱們的目的是構建完後將項目自動發佈到該服務器,因此咱們的 Maven Goals 應該是:clean install,這裏咱們應該點擊:Edit,進行編輯

6.以下

  • Goals: maven install Maven 打包命令

  • Additional Maven command line parameters: -Dmaven.test.skip=true 跳過單元測試

  • Working directory: /repo maven下載jar包存放位置

  • Maven: <Custom> 選擇本地安裝的Maven

    /usr/local/maven 本地maven安裝目錄位置

  • JDK: <Custom> 選擇本地安裝的JDK

  • JDK home path: /usr/local/jdk8` 本地JDK安裝目錄位置

7.經過以上配置,已經完成經過TeamCity自動將項目獲取並編譯打包。點擊Add build step,添加命令實現將項目自動運行。

8.選擇Command LineStep name能夠不填,爲此步驟的名稱;Custom Script,經過端口號將當前運行的項目中止;啓動項目

// 經過端口號將當前運行的項目中止,將此處8004換成本身的項目端口
kill -9 $(netstat -nlp | grep :8004 | awk '{print $7}' | awk -F"/" '{ print $1 }')
// 啓動項目,將此處目錄換成本身實際jar包存放目錄
nohup java -jar /repo/com/wayne/wayne-teamcity/0.0.1-SNAPSHOT/wayne-teamcity-0.0.1-SNAPSHOT.jar &

9.以下圖,點擊Run開始手動構建並運行咱們的項目

10.點擊Build Log查看構建日誌

效果展現

好像看不到什麼效果 o(╯□╰)o

經過以上配置,即實現了TeamCity(半)自動獲取最新代碼、構建、發版項目

TeamCity自動構建項目及集成IDEA(待更新......)

結束語

本人已開通公衆號,歡迎你們前來灌水

公衆號

相關文章
相關標籤/搜索