本文介紹在 Ubuntu Server 14.04 中安裝 TeamCity Server 10.0.1。Ubuntu Server 上已經建立了用戶 tcuser。TeamCity 的安裝包爲 TeamCity-10.0.1.tar.gz,使用 Postgresql 9.4 代替 TeamCity 自帶的數據庫。html
請參考筆者以前的博文《Ubuntu14.04安裝postgresql9.4》安裝 Postgresql 9.4,並參照文中的描述建立數據庫 tcdb 和角色 dbuser。注意,請爲 tcuser 設置密碼,這樣就爲後面配置 TeamCity 作好了準備。java
請參考筆者以前的博文《Ubuntu14.04安裝JDK》安裝 JDK。linux
使用 tcuser 登陸 Ubuntu Server 使用下面命令把文解壓的家目錄下:nginx
$ tar -xf TeamCity-10.0.1.tar.gz -C ~/
在 tcuer 用戶家目錄下建立 .BuildServer/lib/jdbc 目錄。
到 postgresql 的官網下載 9.4 的 jdbc 驅動 postgresql-9.4-*.jar (請根據您的JDK版本下載對應的驅動版本)。
把下載到的 postgresql 驅動放在目錄 ~/.BuildServer/lib/jdbc 下。sql
到 /home/tcuser/TeamCity/bin 目錄,執行下面命令:數據庫
$ ./teamcity-server.sh start
在瀏覽器中經過IP訪問 xxx.xxx.xxx.xxx:8111/,開始初始化 TeamCity Server。vim
直接下一步,瀏覽器
選擇 PostgreSQL 數據庫,less
設置數據庫和數據庫用戶。而後贊成許可協議就能夠建立管理員帳戶了:post
建立完管理員帳戶就算是完成了 TeamCity Server 的初始化過程。登陸後是這個樣子:
這可不算完喲,後面還有很多任務呢!
設置 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
下面使用 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 網站了!