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 自帶的數據庫。html

安裝Postgresql 數據庫

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

安裝JDK

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

解壓縮 TeamCity Server 安裝包

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

$ 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 下。sql

初始化TeamCity Server

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

$ ./teamcity-server.sh start

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

直接下一步,瀏覽器

選擇 PostgreSQL 數據庫,less

設置數據庫和數據庫用戶。而後贊成許可協議就能夠建立管理員帳戶了:post

建立完管理員帳戶就算是完成了 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 網站了!

相關文章
相關標籤/搜索