Commit graph

94 commits

Author SHA1 Message Date
jakedt
b95d3ec329 Add a watchdog timer to the build worker to kill a build step that takes more than 20 minutes. 2014-04-02 19:32:41 -04:00
Joseph Schorr
9a79d1562a Change to store the pull robot on the repository build and only add the credentials to the queue item. This prevents the credentials from being exposed to the end user. Also fixes the restart build option 2014-04-01 21:49:06 -04:00
jakedt
ca1970a2f4 Use the real registry endpoint in the login command. 2014-04-01 19:00:11 -04:00
jakedt
3525e383df Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	test/data/test.db
2014-04-01 18:28:48 -04:00
jakedt
7c44932c87 Use safer tar extraction. Handle error messages in the build process more intelligently. 2014-04-01 13:46:41 -04:00
jakedt
d67a1cddc2 Merge remote-tracking branch 'origin/master' into pullinprivate
Conflicts:
	workers/dockerfilebuild.py
2014-03-31 18:10:34 -04:00
jakedt
e7c20e1052 Add tarball support to the builder and pull github code as a tarball. 2014-03-31 15:40:24 -04:00
jakedt
7c14190d2a Freeze the version of docker-py to 0.3.0 and create a fancy streaming json decoder to work around the lack of newlines in push statuses. 2014-03-28 17:53:33 -04:00
Joseph Schorr
2006917e03 Add support for pull credentials on builds and build triggers 2014-03-27 18:33:13 -04:00
Jake Moshenko
40e81f478f If JSON decoding of a stream response fails, just ignore it since it's probably a blank line. 2014-03-27 22:15:59 +00:00
jakedt
536a91cbb8 Handle messages with the word message in them. 2014-03-07 12:27:30 -05:00
jakedt
4566d76e45 Add a mime type for x-zip-compressed. Report unknown mime types as errors. 2014-03-06 23:40:21 -05:00
jakedt
9a733a7320 Sometimes status messages have an extra level of wrapping for some reason. 2014-03-05 17:44:22 -05:00
jakedt
270a62b8c1 Fix the build worker to use the latest docker-py. 2014-03-05 10:32:24 -05:00
jakedt
c13f7cd9df Add the resource_key back to the repository build. 2014-02-25 18:22:02 -05:00
jakedt
13dea98499 Prepare the build worker to support multiple tags and subdirectories. Change the build database config to accept a job config object instead of breaking out the parameters into independent blocks. 2014-02-24 16:11:23 -05:00
yackob03
1e8ec634e2 Some small fixes to the dockerfile build worker. 2014-02-13 11:44:39 -05:00
yackob03
b920a0cb1f Really try to emulate the logs format with the test logs. Switch to a simplified flat logs format. 2014-02-12 18:58:40 -05:00
yackob03
6fd343741b Change to the new paging format with the commands available at the top. 2014-02-10 19:12:43 -05:00
yackob03
52d2be7953 Identify build commands separately from their output. 2014-02-10 15:03:55 -05:00
yackob03
fab699530c Check for errors before delegating to the cleanup function. 2014-02-05 19:59:26 -05:00
yackob03
67e0736fc6 Separate out the dockerfile build stuff to a separate class. Add a dependency on docker-py master. 2014-02-05 11:07:54 -05:00
yackob03
5270066d6d Switch to the redis backed build logs and status. 2014-02-03 19:08:37 -05:00
yackob03
aa58b840a5 Fix the dockerfile build login to work on http and https registries. 2014-01-24 16:25:25 -05:00
yackob03
72559fb948 First stab at the new builder. 2014-01-24 14:40:36 -05:00
yackob03
8981f576fc Fixes to the build server. 2013-12-31 16:22:58 -05:00
yackob03
bf60862d8e Switch to the new Digital Ocean Docker image. 2013-12-23 15:07:10 -05:00
yackob03
0f3d942b5e Re-add the missing method for getting repository builds. Add more logging to try to see why some builds are not getting removed from the queue. 2013-11-13 17:29:26 -05:00
yackob03
2cd98fc58e Make the app config more powerful in terms of injecting fake dependencies. Refactor the tests to use metaclasses and to actually all run. 2013-11-06 23:21:12 -05:00
yackob03
f8f4c55f89 Close the db connections on the workers occasionally. 2013-10-30 13:22:00 -04:00
yackob03
1bbcd91ae0 Make sure the daemon starts up in the right directory to access the certs file. 2013-10-29 19:59:29 -04:00
yackob03
7adf37e6b5 Move the parmiko import to work around a bug with python daemonization and paramiko. 2013-10-29 18:56:57 -04:00
yackob03
5e81f999d1 Make the build server and build worker slightly more robust to errors. 2013-10-29 18:15:12 -04:00
yackob03
6f105326aa Return unfinished items to the queue when they can be retried. 2013-10-29 15:42:19 -04:00
yackob03
798cf78172 Re-add cleaning up the DO node. 2013-10-29 15:39:44 -04:00
yackob03
c91b40f356 Switch to using environment variables to pass information to the build node, this closes down a security loophole with the admin endpoint of the server. 2013-10-29 13:42:26 -04:00
yackob03
1c7398e920 Allow build node logs to flow to docker. Clean up the pull key before executing user code. Actually clean up the DO node when we are done. Run the status server threaded just in case. 2013-10-28 14:49:23 -04:00
yackob03
d7f51fb764 Bug fixes and associated changes involved with spinning up build nodes and sending jobs to them. 2013-10-27 19:06:20 -04:00
yackob03
78d2d6cad0 Add a test endpoint that allows us to manually create builds. Add access tokens to the build data. 2013-10-25 18:17:43 -04:00
yackob03
684ce83058 Add a test api to test repositories which are currenlty building. 2013-10-25 15:47:34 -04:00
yackob03
ffc33e454c Fixes and refinements to the dockerfile build system. 2013-10-25 15:13:11 -04:00
yackob03
9b9a29c310 Flesh out the create API and wire everything up together. Next up, testing. 2013-10-25 01:14:38 -04:00
yackob03
32ccc599fb Revert some fabric changes to the build worker. 2013-10-24 16:39:25 -04:00
yackob03
847e91b696 Add the first part of the build worker that runs on quay. 2013-10-24 16:37:03 -04:00