Download teamcity
wget -c http://www.jetbrains.com/teamcity/download/
Create dedicated team city user:
adduser --system --shell /bin/bash --gecos 'TeamCity Build Control' --group --disabled-password --home /opt/teamcity teamcity
Install Java
apt-get -y install software-properties-common
apt-add-repository ppa:webupd8team/java
apt-get -y update
echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get -y install oracle-java7-installer
Install mysql
apt-get install mysql-server
Create database & user
mysql>create user tcclient;
mysql>create database teamcity default charset utf8;
mysql>create user tcclient;
mysql>grant all privileges on teamcity.* to tcclient@localhost identified by 'secure_password';
Download MySQL JDBC driver from oracle site and copy it to /opt/teamcity/data/.BuildServer/lib/jdbc
Create Teamcity server start script in init.d
vim /etc/init.d/teamcity-server
#!/bin/bash
# /etc/init.d/teamcity - startup script for teamcity
export TEAMCITY_DATA_PATH="/opt/teamcity/data/.BuildServer"
case $1 in
start)
start-stop-daemon --start -c teamcity --exec /opt/teamcity/TeamCity/bin/teamcity-server.sh start
;;
stop)
start-stop-daemon --stop -c teamcity --exec /opt/teamcity/TeamCity/bin/teamcity-server.sh stop
;;
esac
exit 0
Make sure all the team city files and directory are owned by team city user
cd /opt
chown -R teamcity.teamcity teamcity
Download MySQL JDBC driver from oracle site and copy it to /opt/teamcity/data/.BuildServer/lib/jdbc
Open the Teamcity URL in the browser:
http://teamcity:8111/mnt
Nginx Proxy for Teamcity
apt-get install nginx
Create a file team city under#
cd /etc/nginx/sites-available/
vim teamcity
server {
listen 80;
server_name teamcity;
location / {
proxy_pass http://localhost:8111;
}
}
Check for the syntax
nginx -t -c /etc/nginx/sites-available/default
ln -s /etc/nginx/sites-available/teamcity teamcity
service nginx restart
Now you can access the machine as
http://teamcity/
shouldn't it be nginx -t -c /etc/nginx/sites-available/default ?
ReplyDeleteI meant... shouldn't it be nginx -t -c /etc/nginx/sites-available/teamcity?
ReplyDeleteGreat read thankyyou
ReplyDelete