本文介绍在 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 网站了!