TeamCity : 安装 Server

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

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


本文转自sparkdev博客园博客,原文链接:http://www.cnblogs.com/sparkdev/p/5926178.html,如需转载请自行联系原作者

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
安全 Ubuntu
Ubuntu安装APM Server
1、下载 APM Server https://www.elastic.co/downloads/apm tar -xzvf apm-server-6.3.
2294 0
visualSVN-server的安装图解
本篇主要针对visualSVN-server的安装进行图解,首先请进入visualSVN-server的官网下载地址:https://www.visualsvn.com/server/download/进入网址
2214 0
visualSVN-server的使用方法
本文章主要针对visualSVN-server的使用方法打开visualSVN-server后,画面是这个样子的然后我们要创建一个服务器,用来装项目,如图:这个text就是服务器的后缀名 这个是设置权限:Nobody has access意思是:不让任何人访问All就是所有人都可以最下面那个是自定.
2792 0
|
数据安全/隐私保护 安全 Apache
|
Java 应用服务中间件 数据库