Package Details: teamcity 2017.2-3

Git Clone URL: https://aur.archlinux.org/teamcity.git (read-only)
Package Base: teamcity
Description: Continuous integration server from JetBrains
Upstream URL: http://www.jetbrains.com/teamcity/
Keywords: ci dev
Licenses: custom:JetBrains TeamCity
Submitter: None
Maintainer: Mastacheata
Last Packager: Mastacheata
Votes: 10
Popularity: 0.041759
First Submitted: 2012-07-23 17:48
Last Updated: 2017-11-29 16:58

Latest Comments

chrbayer commented on 2017-11-29 16:55

Now you have to update the checksum ;-)

teamcity-server.service ... FAILED

Mastacheata commented on 2017-11-29 15:03

Just updated the package with the solution suggested by Jetbrains (https://youtrack.jetbrains.com/issue/TW-52704)

There's another problem with the agents, though. And I fear it's not possible to solve that.
Whenever the Agents need an update, you'll have to trigger that by hand once.
The agent startup script doesn't usually have the problem with chained startup scripts, but will spawn the agent process and exit itself.
However the Agent process itself will also spawn an update script and exit itself when an update is needed. That will cause systemd to think the process failed and make it kill all surviving child processes including the updater.
There's another issue for that over at Jetbrains, maybe they'll come up with a solution for that as well.
https://youtrack.jetbrains.com/issue/TW-41047

Mastacheata commented on 2017-11-28 23:44

I'm aware of that problem and what's causing it, but haven't found a solution yet.

Teamcity is still started by calling "teamcity-server.sh start", but previously that file would start Tomcat and TeamCity and then end when everything's done.
Now it just calls a second shell script and will exit as soon as that one has started.

The service for systemd is set to Type=forking and will thus consider the service started as soon as the first shell script has ended.
I guess the only alternative is to set Type=oneshot and RemainAfterExit=True, but that makes it impossible for systemd to monitor the process running/exit status.
This is the file to change that: /usr/lib/systemd/system/teamcity-server.service

I'll see if I can get some help with that Systemd script from somewhere else, maybe I missed an option to work around this without modifying the built-in startup scripts.

chrbayer commented on 2017-11-28 16:16

Hi, thanks for the update! But now it is not working any more:

● teamcity-server.service - TeamCity server
Loaded: loaded (/usr/lib/systemd/system/teamcity-server.service; disabled; vendor preset: disabled)
Active: failed (Result: timeout) since Tue 2017-11-28 17:09:23 CET; 4min 20s ago
Process: 27930 ExecStart=/opt/teamcity/bin/teamcity-server.sh start (code=exited, status=0/SUCCESS)
Main PID: 31269 (code=exited, status=0/SUCCESS)

Nov 28 17:08:53 beta.local systemd[1]: Starting TeamCity server...
Nov 28 17:08:53 beta.local teamcity-server.sh[27930]: Spawning TeamCity restarter in separate process
Nov 28 17:08:53 beta.local teamcity-server.sh[27930]: TeamCity restarter running with PID 27934
Nov 28 17:08:53 beta.local systemd[1]: teamcity-server.service: PID file /opt/teamcity/logs/teamcity.pid not readable (yet?) after start:
Nov 28 17:09:23 beta.local systemd[1]: teamcity-server.service: Start operation timed out. Terminating.
Nov 28 17:09:23 beta.local systemd[1]: teamcity-server.service: Failed with result 'timeout'.
Nov 28 17:09:23 beta.local systemd[1]: Failed to start TeamCity server.

The server is started, but the pid file /opt/teamcity/logs/teamcity.pid is not created and therefore the systemd teamcity-server service can not be started...

Mastacheata commented on 2017-09-29 19:56

Hey everyone.

Not sure how many people are actually using this as noone ever seemed to have reported the missing 2017.1.4 update after Yegorius left the maintainer position.

I'm sorry for the delay, but I just didn't have time to set up a proper environment for building this package (I wanted to add a semi-automated update script)
You can find my finished script for triggering an udpate to the PKGBUILD script by looking for the udpdate.sh in the snapshot file.
Obviously if you want an update published that I didn't see yet, you still have to flag the package out of date or request co-maintainership.

Regards,
Mastacheata

Yegorius commented on 2016-08-07 11:54

thank you @Mastacheata, I fixed this

Mastacheata commented on 2016-08-05 23:30

Hey there,
your post_upgrade function is empty, but bash doesn't allow empty functions. You can either leave it away or add a placeholder like : there (colon is short for true in bash).
The way it is now, you get syntax errors when running the install as an upgrade

Yegorius commented on 2016-08-01 12:52

Please test.

Yegorius commented on 2016-07-28 09:15

I will update the package soon.

Mastacheata commented on 2016-02-06 17:04

Hmmpf, just noticed that Teamcity will now use teamcity.pid by default for the "server". That needs to be adjusted in the teamcity-server.service file if you want to upgrade to one of the aforementioned newer versions. (Here: 9.1.6)

All comments