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-xfTeamCity-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 下。
到 /home/tcuser/TeamCity/bin 目录,执行下面命令:
$./teamcity-server.shstart
在浏览器中通过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-startupscriptforteamcityexportJAVA_HOME=/usr/lib/jdk1.8.0_91exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexportPATH=${JAVA_HOME}/bin:$PATHexportTEAMCITY_DATA_PATH="/home/tcuser/.BuildServer"exportTEAMCITY_SERVER_OPTS=-Djava.awt.headless=true#ConfigureTeamCityforuseonaheadlessOS.case$1instart)start-stop-daemon--start-ctcuser--exec/home/tcuser/TeamCity/bin/teamcity-server.shstart;;stop)start-stop-daemon--start-ctcuser--exec/home/tcuser/TeamCity/bin/teamcity-server.shstop;;esacexit0
然后执行下面的命令设置开机启动服务:
$sudochmod755tcserver$sudoupdate-rc.dtcserverdefaults配置80端口
下面使用 nginx 让用户可以通过80端口来访问 TeamCity Server。
install nginx:
$sudoapt-getinstallnginx$sudotouch/etc/nginx/sites-available/teamcity$sudovim/etc/nginx/sites-available/teamcity
把下面的内容添加到 teamcity 文件中:
map$http_upgrade$connection_upgrade{defaultupgrade;'''';}server{listen80;server_namelocalhost;proxy_read_timeout1200;proxy_connect_timeout240;client_max_body_size0;location/{proxy_passhttp://localhost:8111;proxy_http_version1.1;proxy_set_headerX-Forwarded-For$remote_addr;proxy_set_headerHost$server_name:$server_port;proxy_set_headerUpgrade$http_upgrade;proxy_set_headerConnection$connection_upgrade;}}
创建链接文件并移除默认的网站配置:
$sudoln-s/etc/nginx/sites-available/teamcity/etc/nginx/sites-enabled/teamcity$sudorm/etc/nginx/sites-enabled/default
重新加载 nginx的配置:
$sudo/etc/init.d/nginxreload
好了,现在就可以通过 TeamCity Server 的 IP 地址来访问网站了!
通过名称访问现在我们只能通过在浏览器中输入IP地址的方式访问 TeamCity server,这太不方便了。从根本上解决这个问题的方式是让 DNS 解析域名。作为 demo,我们可以设置一下本机的 hosts文件,简单又便捷:
使用管理员权限打开文件 C:\Windows\System32\drivers\etc\hosts,在文件尾部添加一行,内容如下:
xxx.xxx.xxx.xxx tcserver
保存,然后在浏览器中输入 tcserver/ 试试,已经可以通过 tcserver 来访问 TeamCity Server 网站了!
作者:sparkdev
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。