鍍金池/ 教程/ Linux/ TeamCity 安裝和配置
Linux 下常用壓縮文件的解壓、壓縮
  • 1.
Maven 安裝和配置
  • 1.
CentOS 網(wǎng)絡(luò)設(shè)置
  • 1.
  • 1.
  • 1.
TeamCity 安裝和配置
Zsh 入門(mén)
  • 1.
  • 1.
Bash 其他常用命令
Bash 常用命令
  • 1.
  • 1.
  • 1.
Ubuntu 介紹
Ubuntu 網(wǎng)絡(luò)相關(guān)設(shè)置問(wèn)題
Nginx 安裝和配置
  • 1.
  • 1.
  • 1.
  • 1.
Linux-Tutorial
Nexus 安裝和配置
  • 1.
黑客入侵檢查
Yum 下載安裝包及對(duì)應(yīng)依賴包
  • 1.
  • 1.
Tomcat 8 安裝和配置、優(yōu)化
  • 1.
Ubuntu 安裝和分區(qū)

TeamCity 安裝和配置

  • TeamCity

本文初衷

  • 讓大家了解持續(xù)集成(CI),以及入門(mén)了解 JetBrains 家的 TeamCity 的一些簡(jiǎn)單實(shí)用。
  • TeamCity 的一些復(fù)雜使用我暫時(shí)也不會(huì),一樣也是要看文檔的,所以不管怎樣你都要養(yǎng)成看官網(wǎng)文檔的習(xí)慣。
  • TeamCity 和 Jenkins、Hudson 其實(shí)是非常一樣的,基本流程都是差不多的,所以如果你會(huì)其他的幾個(gè) CI 工具的話,學(xué)習(xí)起來(lái)很快。
  • Docker 已經(jīng)開(kāi)始在引入到 CI、CD(持續(xù)交付)過(guò)程中,可以大大簡(jiǎn)化整體的過(guò)程,也許這是未來(lái)的一個(gè)方向,有興趣的可以了解更多。

它是什么

為什么會(huì)出現(xiàn)

哪些人喜歡它

哪些人不喜歡它

  • Google 不到結(jié)果,應(yīng)該是沒(méi)人不喜歡,只是有些人用不慣

為什么學(xué)習(xí)它

  • 更好地保證項(xiàng)目質(zhì)量

同類工具

TeamCity 入門(mén)

  • 先來(lái)看一段官網(wǎng)的介紹視頻
  • 這個(gè)視頻其實(shí)已經(jīng)很清楚地說(shuō)明了一個(gè)整理流程是怎樣的,我今天只是做一個(gè)更加清晰的細(xì)節(jié)講解而已
  • 你需要穿越:https://www.youtube.com/watch?v=J-iYMMG6jmc#action=share

TeamCity 安裝部署(Linux 環(huán)境)

  • 在我講之前,如果你英文還可以,就到官網(wǎng)這里看下:
  • Installation Quick Start
  • 安裝環(huán)境要求:
    • JDK 1.7 以上,如果你要使用的是 2016 最新的 TeamCity 9.1 的話,JDK 官網(wǎng)推薦的 1.8
  • 安裝包下載:https://www.jetbrains.com/teamcity/download/#section=linux-version
  • 開(kāi)始安裝(eg:TeamCity-9.1.6.tar.gz):
    • 解壓壓縮包(解壓速度有點(diǎn)慢):tar zxf TeamCity-9.1.6.tar.gz
    • 解壓完的目錄結(jié)構(gòu)講解:https://confluence.jetbrains.com/display/TCD9/TeamCity+Home+Directory
    • 下載的 tar.gz 的本質(zhì)是已經(jīng)里面捆綁了一個(gè) Tomcat,所以如果你會(huì) Tomcat 的話,有些東西你可以自己改的。
    • 按我個(gè)人習(xí)慣,把解壓縮的目錄放在 usr 目錄下:mv TeamCity/ /usr/program/
    • 進(jìn)入解壓目錄:cd /usr/program/TeamCity/
    • 啟動(dòng)程序:/usr/program/TeamCity/bin/runAll.sh start
    • 停止程序:/usr/program/TeamCity/bin/runAll.sh stop
    • 啟動(dòng)需要點(diǎn)時(shí)間,最好能給它一兩分鐘吧

首次進(jìn)入

  • 假設(shè)我們已經(jīng)啟動(dòng)了 TeamCity
  • 訪問(wèn)(TeamCity 默認(rèn)端口是:8111):http://192.168.1.113:8111/
  • 如果訪問(wèn)不了,請(qǐng)先關(guān)閉防火墻:service iptables stop
  • 你也可以選擇把端口加入白名單中:
    • sudo iptables -I INPUT -p tcp -m tcp --dport 8111 -j ACCEPT
    • sudo /etc/rc.d/init.d/iptables save
    • sudo service iptables restart
  • 如果你要改變端口,找到下面這個(gè) 8111 位置:vim /usr/program/TeamCity/conf/server.xml
<Connector port="8111" ...
  • 在假設(shè)你已經(jīng)可以訪問(wèn)的情況,我們開(kāi)始進(jìn)入 TeamCity 的設(shè)置向?qū)В?/li>
  • TeamCity 向?qū)? />
<ul>
<li>如上圖英文所示,TeamCity 的一些軟件安裝的配置、服務(wù)的配置默認(rèn)都會(huì)放在:<code>/root/.BuildServer</code></li>
<li>如果你要了解更多 TeamCity Data Directory 目錄,你可以看:<a rel=https://confluence.jetbrains.com/display/TCD9/TeamCity+Data+Directory
  • TeamCity 向?qū)? />
<ul>
<li>如上圖英文所示,TeamCity 的一些構(gòu)建歷史、用戶信息、構(gòu)建結(jié)果等這類數(shù)據(jù)是需要放在關(guān)系型數(shù)據(jù)庫(kù)上的,而默認(rèn)它給我們內(nèi)置了一個(gè)。</li>
<li>如果你要了解更多 TeamCity External Database,你可以看:<a rel=https://confluence.jetbrains.com/display/TCD9/Setting+up+an+External+Database
  • 首次使用,官網(wǎng)是建議使用默認(rèn)的:Internal(HSQLDB),這樣我們無(wú)需在一開(kāi)始使用的就考慮數(shù)據(jù)庫(kù)遷移或安裝的問(wèn)題,我們只要好好感受 TeamCity 給我們的,等我們決定要使用了,后續(xù)再更換數(shù)據(jù)也是可以的。但是內(nèi)置的有一個(gè)注意點(diǎn):'TeamCity with the native MSSQL external database driver is not compatible with Oracle Java 6 Update 29, due to a bug in Java itself. You can use earlier or later versions of Oracle Java.'
  • 假設(shè)我們就選 Internal(HSQLDB) ,則在創(chuàng)建初始化數(shù)據(jù)庫(kù)的過(guò)程稍微需要點(diǎn)時(shí)間,我這邊是幾分鐘。
  • TeamCity 向?qū)? />
<ul>
<li>如上圖所示,接受下協(xié)議</li>
</ul></li>
<li><img src=http://192.168.1.113:8111/profile.html?tab=userGeneralSettings
  • 我們可以完善一些管理員信息和基礎(chǔ)配置信息,這些配置不配置都無(wú)所謂了,只是完善了可以更加好用而已
  • 如果你有 SMTP 的郵箱,你可以來(lái)這里開(kāi)啟郵件通知功能:http://192.168.1.113:8111/admin/admin.html?item=email
  • 如果你要開(kāi)啟通知功能那肯定下一步就是考慮通知內(nèi)容的模板要如何設(shè)定:https://confluence.jetbrains.com/display/TCD9//Customizing+Notifications
  • 模板存放路徑在:/root/.BuildServer/config/_notifications,用的是 FreeMarker 的語(yǔ)法
  • 項(xiàng)目的構(gòu)建、管理

    • 建議可以看下官網(wǎng):https://confluence.jetbrains.com/display/TCD9/Configure+and+Run+Your+First+Build
    • 現(xiàn)在讓我們開(kāi)始創(chuàng)建一個(gè)項(xiàng)目進(jìn)行構(gòu)建
    • 項(xiàng)目管理地址:<http://192.168.1.113:8111/admin/admin.html?item=projects >
    • 假設(shè)我現(xiàn)在有一個(gè)項(xiàng)目的結(jié)構(gòu)是這樣的:
      • Youshop-Parent,輸出是 pom
        • Youshop-manage,輸出是 pom
          • Youshop-pojo,輸出 jar
    • 我們現(xiàn)在以 Youshop-pojo 為例,讓它自動(dòng)構(gòu)建并發(fā)布到 Nexus 中,其他項(xiàng)目道理是一樣的,這里就不多說(shuō)。
    • TeamCity 向?qū)? /></li>
<li>如上圖,由于目前只要是公司的項(xiàng)目都應(yīng)該是在版本控制的,所以這里我們選擇:<strong>Create project from URL</strong></li>
<li><img src=http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
  • TeamCity 向?qū)? />
<ul>
<li>如上圖,這臺(tái)服務(wù)器必須裝有 Maven、JDK</li>
<li>如上圖,<code>Goals</code> 我們的目標(biāo)是 <code>clean install deploy</code></li>
<li>如上圖,<code>Maven Home</code> 我建議是自己自定義路徑,這樣肯定不會(huì)有問(wèn)題。所以你服務(wù)器上的 Maven 安裝路徑是什么你就在這里填寫(xiě)上去。Maven 目前支持的最高版本是:3.2.5
<ul>
<li>下載 Maven 3.2.5:<a rel=http://archive.apache.org/dist/maven/maven-3/3.2.5/binaries/
  • 如上圖,Java Parameters 我建議也是自己自定義路徑,別選擇其他選項(xiàng)。
  • TeamCity 向?qū)? />
<ul>
<li>如上圖,點(diǎn)擊 <code>run</code>,開(kāi)始手動(dòng)構(gòu)建該項(xiàng)目</li>
</ul></li>
<li><img src=https://confluence.jetbrains.com/display/TCD9/Configuring+Build+Triggers
  • 下面我們舉例說(shuō)常見(jiàn)的:VCS Trigger、Schedule Trigger
  • TeamCity 向?qū)? />
<ul>
<li>如上圖,點(diǎn)擊 <code>Add new trigger</code> 添加觸發(fā)器</li>
</ul></li>
<li><img src=Quartz CronTrigger Tutorial
  • 如果你不懂 Cron 語(yǔ)法那就算了,但是我想做 Java 這個(gè)應(yīng)該要會(huì)的
  • 集成 IntelliJ IDEA

    上一篇:黑客入侵檢查下一篇: