summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD34
-rw-r--r--teamcity-agent.service17
-rw-r--r--teamcity-server.service18
-rw-r--r--teamcity.conf3
-rw-r--r--teamcity.install26
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
+}