diff options
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 34 | ||||
-rw-r--r-- | teamcity-agent.service | 17 | ||||
-rw-r--r-- | teamcity-server.service | 18 | ||||
-rw-r--r-- | teamcity.conf | 3 | ||||
-rw-r--r-- | teamcity.install | 26 |
6 files changed, 119 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e482959cc37b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = teamcity + pkgdesc = Continuous integration server from JetBrains + pkgver = 8.1.3 + pkgrel = 1 + url = http://www.jetbrains.com/teamcity/ + install = teamcity.install + arch = any + license = custom:JetBrains TeamCity + depends = java-runtime-headless + options = !strip + source = http://download.jetbrains.com/teamcity/TeamCity-8.1.3.tar.gz + source = teamcity-agent.service + source = teamcity-server.service + source = teamcity.conf + sha512sums = 2ae69d942bf29f0b03d33766a2ad7bb7eb614641148ba42540e3eab45e5906291e91fec8fba6641276881c4d859ab917530340b790323cf800bc31e7724dd5c1 + sha512sums = bf8786f45d9b9101027b6efe2e1732988d032cb1ae1655b2188b61eda70d0df49d48c0de191e2eb00378fd44722a61592fcd26f5426ff150fc72d78b448a3223 + sha512sums = db22f7e9a58b57df260343973f9338a5828ed7b4949ba45dd6fa26905b502f4a91766cd685d16c3d41cef51c107ea54ac41dda263729c1ba1aee665295a614e3 + sha512sums = f6a1fb4c66f2303fca3fbba511f8a34eb9489fa0e76997e73753dd25d31dae3f8188bff1ff03782b1333b4704090cb10d86d81260677701dc5d8cc48ffa463e4 + +pkgname = teamcity + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..832b005c7b04 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Nowaker <spam@nowaker.net> +# Contributor: ahmad200512@yandex.ru + +pkgname='teamcity' +pkgver='8.1.3' +pkgrel='1' +pkgdesc='Continuous integration server from JetBrains' +arch=('any') +url="http://www.jetbrains.com/teamcity/" +license=('custom:JetBrains TeamCity') +depends=('java-runtime-headless') +install="$pkgname.install" +source=("http://download.jetbrains.com/teamcity/TeamCity-${pkgver}.tar.gz" + 'teamcity-agent.service' + 'teamcity-server.service' + 'teamcity.conf') +sha512sums=('2ae69d942bf29f0b03d33766a2ad7bb7eb614641148ba42540e3eab45e5906291e91fec8fba6641276881c4d859ab917530340b790323cf800bc31e7724dd5c1' + 'bf8786f45d9b9101027b6efe2e1732988d032cb1ae1655b2188b61eda70d0df49d48c0de191e2eb00378fd44722a61592fcd26f5426ff150fc72d78b448a3223' + 'db22f7e9a58b57df260343973f9338a5828ed7b4949ba45dd6fa26905b502f4a91766cd685d16c3d41cef51c107ea54ac41dda263729c1ba1aee665295a614e3' + 'f6a1fb4c66f2303fca3fbba511f8a34eb9489fa0e76997e73753dd25d31dae3f8188bff1ff03782b1333b4704090cb10d86d81260677701dc5d8cc48ffa463e4') +options=('!strip') +PKGEXT='.pkg.tar' + +package() { + mkdir -p "${pkgdir}/usr/share/licenses" + mkdir -p "${pkgdir}/var/lib/teamcity" + mkdir -p "${pkgdir}/opt/${pkgname}" + + install -Dm755 "${srcdir}/teamcity-agent.service" "${pkgdir}/usr/lib/systemd/system/teamcity-agent.service" + install -Dm755 "${srcdir}/teamcity-server.service" "${pkgdir}/usr/lib/systemd/system/teamcity-server.service" + install -Dm755 "${srcdir}/teamcity.conf" "${pkgdir}/etc/conf.d/teamcity" + cp -R "${srcdir}/TeamCity"/* "${pkgdir}/opt/${pkgname}" + ln -s "/opt/${pkgname}/licenses" "${pkgdir}/usr/share/licenses/teamcity" +} diff --git a/teamcity-agent.service b/teamcity-agent.service new file mode 100644 index 000000000000..ea6131cb0d4e --- /dev/null +++ b/teamcity-agent.service @@ -0,0 +1,17 @@ +[Unit] +Description=TeamCity agent +After=network.target + +[Service] +EnvironmentFile=/etc/conf.d/teamcity +ExecStart=/opt/teamcity/buildAgent/bin/agent.sh start +ExecStop=/opt/teamcity/buildAgent/bin/agent.sh stop +Type=forking +Restart=no +TimeoutSec=30 +RemainAfterExit=yes +User=teamcity + +[Install] +WantedBy=multi-user.target + diff --git a/teamcity-server.service b/teamcity-server.service new file mode 100644 index 000000000000..f1759a4563c2 --- /dev/null +++ b/teamcity-server.service @@ -0,0 +1,18 @@ +[Unit] +Description=TeamCity server +After=network.target + +[Service] +EnvironmentFile=/etc/conf.d/teamcity +ExecStart=/opt/teamcity/bin/teamcity-server.sh start +ExecStop=/opt/teamcity/bin/teamcity-server.sh stop +Type=forking +PIDFile=/opt/teamcity/logs/teamcity-server.pid +Restart=no +TimeoutSec=30 +RemainAfterExit=yes +User=teamcity + +[Install] +WantedBy=multi-user.target + diff --git a/teamcity.conf b/teamcity.conf new file mode 100644 index 000000000000..4c41545276b4 --- /dev/null +++ b/teamcity.conf @@ -0,0 +1,3 @@ +JAVA_HOME=/usr/lib/jvm/default-java +CATALINA_PID=/opt/teamcity/logs/teamcity-server.pid + diff --git a/teamcity.install b/teamcity.install new file mode 100644 index 000000000000..1c25036df2f9 --- /dev/null +++ b/teamcity.install @@ -0,0 +1,26 @@ +post_install() { + echo "Creating user and group teamcity..." + getent group teamcity &>/dev/null || groupadd -r teamcity >/dev/null + getent passwd teamcity &>/dev/null || useradd -r -g teamcity -d '/var/lib/teamcity' -s /bin/bash -G teamcity teamcity >/dev/null + chown -R teamcity '/opt/teamcity' + chown -R teamcity '/var/lib/teamcity' + echo "Make sure /usr/lib/jvm/default-java symlinks to your prefered Java environment." + echo "If you want to use a different Java, set it in /etc/conf.d/teamcity" + echo "" + echo "To start your instance:" + echo " systemctl start teamcity-server" + echo " systemctl start teamcity-agent" + echo + echo "Hint for newcomers: by default, TeamCity operates on port 8111." +} + +post_upgrade() { + echo "Make sure /usr/lib/jvm/default-java symlinks to your prefered Java environment." + echo "If you want to use a different Java, set it in /etc/conf.d/teamcity" +} + +post_remove() { + echo "Removing teamcity user and group..." + getent passwd teamcity &>/dev/null && userdel teamcity >/dev/null + getent group teamcity &>/dev/null && groupdel teamcity >/dev/null +} |