TeamCity : 安裝 Server


本文介紹在 Ubuntu Server 14.04 中安裝 TeamCity Server 10.0.1。Ubuntu Server 上已經創建了用戶  tcuser。TeamCity 的安裝包為 TeamCity-10.0.1.tar.gz,使用 Postgresql 9.4 代替 TeamCity 自帶的數據庫。

安裝Postgresql 數據庫

請參考筆者之前的博文《Ubuntu14.04安裝postgresql9.4》安裝 Postgresql 9.4,並參照文中的描述創建數據庫 tcdb 和角色 dbuser。注意,請為 tcuser 設置密碼,這樣就為后面配置 TeamCity 做好了准備。

安裝JDK

請參考筆者之前的博文《Ubuntu14.04安裝JDK》安裝 JDK。

解壓縮 TeamCity Server 安裝包

使用 tcuser 登錄 Ubuntu Server 使用下面命令把文解壓的家目錄下:

$ tar -xf TeamCity-10.0.1.tar.gz -C ~/

設置 Postgresql JDBC 驅動

在 tcuer 用戶家目錄下創建 .BuildServer/lib/jdbc 目錄。
到 postgresql 的官網下載 9.4 的 jdbc 驅動 postgresql-9.4-*.jar (請根據您的JDK版本下載對應的驅動版本)。
把下載到的 postgresql 驅動放在目錄 ~/.BuildServer/lib/jdbc 下。

初始化TeamCity Server

到 /home/tcuser/TeamCity/bin 目錄,執行下面命令:

$ ./teamcity-server.sh start

在瀏覽器中通過IP訪問 xxx.xxx.xxx.xxx:8111/,開始初始化 TeamCity Server。

直接下一步,

選擇 PostgreSQL 數據庫,

設置數據庫和數據庫用戶。然后同意許可協議就可以創建管理員賬戶了:

創建完管理員賬戶就算是完成了 TeamCity Server 的初始化過程。登錄后是這個樣子:

這可不算完喲,后面還有不少任務呢!

配置teamcity service 開機啟動

設置 linux 開機自動啟動 teamcity service。
創建文件 /etc/init.d/tcserver,添加下面的內容,注意 jdk 的路徑要更新為實際的路徑:

#!/bin/sh
# /etc/init.d/teamcity -  startup script for teamcity
export JAVA_HOME=/usr/lib/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export TEAMCITY_DATA_PATH="/home/tcuser/.BuildServer"
export TEAMCITY_SERVER_OPTS=-Djava.awt.headless=true
# Configure TeamCity for use on a headless OS.
case $1 in
start)
  start-stop-daemon --start -c tcuser --exec /home/tcuser/TeamCity/bin/teamcity-server.sh start
;;
stop)
  start-stop-daemon --start -c tcuser --exec /home/tcuser/TeamCity/bin/teamcity-server.sh stop
;;
esac
exit 0

然后執行下面的命令設置開機啟動服務:

$ sudo chmod 755 tcserver
$ sudo update-rc.d tcserver defaults

配置80端口

下面使用 nginx 讓用戶可以通過80端口來訪問 TeamCity Server。
install nginx:

$ sudo apt-get install nginx
$ sudo touch /etc/nginx/sites-available/teamcity
$ sudo vim /etc/nginx/sites-available/teamcity

把下面的內容添加到 teamcity 文件中:

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''   '';
}

server {
    listen       80;
    server_name  localhost;
    proxy_read_timeout     1200;
    proxy_connect_timeout  240;
    client_max_body_size   0;

    location / {
        proxy_pass          http://localhost:8111;
        proxy_http_version  1.1;
        proxy_set_header    X-Forwarded-For $remote_addr;
        proxy_set_header    Host $server_name:$server_port;
        proxy_set_header    Upgrade $http_upgrade;
        proxy_set_header    Connection $connection_upgrade;
    }
}

創建鏈接文件並移除默認的網站配置:

$ sudo ln -s /etc/nginx/sites-available/teamcity /etc/nginx/sites-enabled/teamcity
$ sudo rm /etc/nginx/sites-enabled/default

重新加載 nginx的配置:

$ sudo /etc/init.d/nginx reload

好了,現在就可以通過 TeamCity Server 的 IP 地址來訪問網站了!

通過名稱訪問

現在我們只能通過在瀏覽器中輸入IP地址的方式訪問 TeamCity server,這太不方便了。從根本上解決這個問題的方式是讓 DNS 解析域名。作為 demo,我們可以設置一下本機的 hosts文件,簡單又便捷:
使用管理員權限打開文件 C:\Windows\System32\drivers\etc\hosts,在文件尾部添加一行,內容如下:
xxx.xxx.xxx.xxx    tcserver
保存,然后在瀏覽器中輸入 tcserver/ 試試,已經可以通過 tcserver 來訪問 TeamCity Server 網站了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM