gitlab-runner merge requestshttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests2017-05-23T16:14:26Zhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/236Add posibility to specify a list of volumes to inherit from another container2017-05-23T16:14:26Zusername-removed-356725Add posibility to specify a list of volumes to inherit from another containerIntroduce new parameter in docker section of `config.toml`. Detailed explanation of parameters can be found in [docker manual](https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- **volumes_from** ...Introduce new parameter in docker section of `config.toml`. Detailed explanation of parameters can be found in [docker manual](https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container)
- **volumes_from** - A list of volumes to inherit from another container. Specified in the form `<container name>[:<ro|rw>]`
Example:
```bash
[runners.docker]
volumes_from = ["storage_container:ro"]
```
v1.6https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/301Change dependency from `github.com/fsouza/go-dockerclient` to `github.com/doc...2017-03-31T14:30:56ZNick ThomasChange dependency from `github.com/fsouza/go-dockerclient` to `github.com/docker/docker/client`"## What does this MR do?
Switch from github.com/fsouza/go-dockerclient to github.com/docker/docker/client
## Why was this MR needed?
We're out of date with go-dockerclient and would rather use the official client, which is now d...## What does this MR do?
Switch from github.com/fsouza/go-dockerclient to github.com/docker/docker/client
## Why was this MR needed?
We're out of date with go-dockerclient and would rather use the official client, which is now docker/docker/client, not docker/engine-api/client
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/CHANGELOG.md) entry added
- [ ] Documentation created/updated
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #1606v9.0Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/376Bug Fix: use a regex to pull out the service and version in the splitServiceA...2017-06-05T15:12:55Zusername-removed-831160Bug Fix: use a regex to pull out the service and version in the splitServiceAndVersion methodThis merge request allows the use of multiple docker images (as a service) from a private docker registry where the docker registry is on a port other than 443.
Currently if you use a docker image from a private registry on a port ot...This merge request allows the use of multiple docker images (as a service) from a private docker registry where the docker registry is on a port other than 443.
Currently if you use a docker image from a private registry on a port other than 443 you can't have more than one service from that registry due to the way the service definition splits on the colon (:).
For example `registry.example.com:5000/ruby:2.9` becomes `registry.example.com` as a host entry to connect to. If you then have `registry.example.com:5000/mongo:2.6` this also becomes `registry.example.com` as an entry to connect to.
This ends up with:
```
registry.example.com -> ruby
registry.example.com -> mongo
```
Which of course doesn't work.
I have tried to take into account the different ways in which a private docker registry can be referenced in the regex and in the tests, but this could do with a review to see if my logic there covers everything.
I believe the docs cover the use of a private docker registry already and test have been updated.
(Note that the pipelines never pass the unit tests, but this is for the shell executor, on time outs, or when the test is killed by the runner.)v1.8https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/386Add support for using private docker registries2017-04-25T10:41:00ZTomasz Maczukintomasz@gitlab.comAdd support for using private docker registries> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Adds support for passing docker authorization config with environment variab...> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Adds support for passing docker authorization config with environment variable. This is a first step to add support for private registries (including private registry provided with GitLab CE/EE)
## Why was this MR needed?
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [x] Documentation created/updated
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
References #1434, #1828 and gitlab-org/gitlab-ce#22305v1.8Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/390Fix/unplug stalled endpoints2016-12-30T16:50:53ZTomasz Maczukintomasz@gitlab.comFix/unplug stalled endpoints> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Forces unlinking docker containers from docker networks while removing containers...> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Forces unlinking docker containers from docker networks while removing containers. This is to prevent docker API errors described in #1642.
## Why was this MR needed?
Successor of !337. Please look into !337 and #1642 for more details.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Fixes #1642
/fyi @stanhuv1.8Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/393Make pull policies usage clear2017-10-06T11:01:09ZTomasz Maczukintomasz@gitlab.comMake pull policies usage clear## What does this MR do?
Describes the usage details and cases of `pull_policy` parameters: `always`, `if-not-present` and `never`. It also change code a little to remove unused policy check and log specific exceptions to make clear w...## What does this MR do?
Describes the usage details and cases of `pull_policy` parameters: `always`, `if-not-present` and `never`. It also change code a little to remove unused policy check and log specific exceptions to make clear what and why happened while determining the pulling policy.
## Why was this MR needed?
After adding support for private docker images in !386 and fixing inconsistence of behavior of `always` pull policy we introduced a change that breaks workflows based on previous bad implementation of `always` pull policy handling. This MR adds documentation and cosmetic changes in code to make clear which pull policy should be used in what cases.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [x] Documentation created/updated
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #1905v1.8Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/415Fix docker hanging for docker-engine 1.12.42017-02-03T12:25:03ZKamil TrzcińśkiFix docker hanging for docker-engine 1.12.4This MR is here to fix support for Docker 1.12.4.
Fixes #1962This MR is here to fix support for Docker 1.12.4.
Fixes #1962v1.9https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/420Push prebuilt images to dockerhub2016-12-22T11:07:19ZTomasz Maczukintomasz@gitlab.comPush prebuilt images to dockerhub## What does this MR do?
Adds a release step, that pushes gitlab-runner-helper do docker hub. This is a first step to make prebuilt images available for Kubernetes executor.
## Why was this MR needed?
Please read !275 for a refe...## What does this MR do?
Adds a release step, that pushes gitlab-runner-helper do docker hub. This is a first step to make prebuilt images available for Kubernetes executor.
## Why was this MR needed?
Please read !275 for a reference.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Successor of !275v1.9Kamil TrzcińśkiKamil Trzcińśkihttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/424Remove unnecessary warning about using image with the same ID as provided2016-12-21T22:36:57ZTomasz Maczukintomasz@gitlab.comRemove unnecessary warning about using image with the same ID as provided## What does this MR do?
Removes unnecessary warning about using image with the same ID as provided
## Why was this MR needed?
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance cr...## What does this MR do?
Removes unnecessary warning about using image with the same ID as provided
## Why was this MR needed?
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?v1.9Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/426Tag and push 'latest' version of gitlab/gitlab-runner-helper image2016-12-22T11:57:45ZTomasz Maczukintomasz@gitlab.comTag and push 'latest' version of gitlab/gitlab-runner-helper image## What does this MR do?
Adds the `-latest` version of image introduced in !420
## Why was this MR needed?
`-latest` versions of images will be used, for example, as default images for Kubernetes executor if an image marked with revis...## What does this MR do?
Adds the `-latest` version of image introduced in !420
## Why was this MR needed?
`-latest` versions of images will be used, for example, as default images for Kubernetes executor if an image marked with revision will be not found (please read https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/425#note_20382762 for a reference)
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?v1.9Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/446Add armv6l to the ARM replacements list for docker executor helper image2017-01-15T15:18:21ZTomasz Maczukintomasz@gitlab.comAdd armv6l to the ARM replacements list for docker executor helper image## What does this MR do?
Adds `armv6l` architecture to arm replacements list for docker executor helper image.
## Why was this MR needed?
Please read #2038 for a reference.
## Are there points in the code the reviewer needs to double...## What does this MR do?
Adds `armv6l` architecture to arm replacements list for docker executor helper image.
## Why was this MR needed?
Please read #2038 for a reference.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #2038v1.7Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/453Docker Executor: "Preparation failed: no such image" is no longer mysterious2017-01-21T21:02:19Zusername-removed-536451nowaker@virtkick.comDocker Executor: "Preparation failed: no such image" is no longer mysterious## What does this MR do? & Why was this MR needed?
Previously it wasn't clear what image is missing. That was caused by the fact the code didn't print service name and version *before* raising error. Now it's clear.
## Are there points...## What does this MR do? & Why was this MR needed?
Previously it wasn't clear what image is missing. That was caused by the fact the code didn't print service name and version *before* raising error. Now it's clear.
## Are there points in the code the reviewer needs to double check?
No.
## Does this MR meet the acceptance criteria?
I guess these all are N/A due to simplicity of this contribution.
- [N/A] Documentation created/updated
- Tests
- [N/A] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Fixes #2028. CC @tmaczukin.v1.10https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/468Docker: Allow to configure shared memory size2017-05-23T16:13:25Zusername-removed-259801Docker: Allow to configure shared memory size## What does this MR do?
Allow to set shared memory size for docker images.
## Why was this MR needed?
Docker by default [uses a shared memory size of 64m](https://docs.docker.com/engine/reference/run/#/runtime-constraints-on-resource...## What does this MR do?
Allow to set shared memory size for docker images.
## Why was this MR needed?
Docker by default [uses a shared memory size of 64m](https://docs.docker.com/engine/reference/run/#/runtime-constraints-on-resources). Some images benefit from a bigger shared memory size, though. For example the [docker selenium images recommend to mount shared memory space](https://github.com/SeleniumHQ/docker-selenium#running-the-images) to fix crashes due to too low shared memory size. With this MR, the shared memory size can be increased with a config option.
## Are there points in the code the reviewer needs to double check?
This is based on top of !301 because the current used (outdated) dockerclient does not support the `ShmSize`, so !301 has to be merged in first. [Changes on top of that are really small](https://gitlab.com/doits/gitlab-ci-multi-runner/commit/2fc35e215f09ac8b94c5580ef47d1d5ae925f289) - just passing through the new config option.
## Does this MR meet the acceptance criteria?
- [x] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Fixes #1913v9.1https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/501Add support for credentials store2017-08-09T18:29:00Zusername-removed-435607Add support for credentials store## What does this MR do?
With this MR runner will correctly fetch credentials store from credsStore, if it's configured.
## Why was this MR needed?
In some environments, specifically in AWS, credentials are provided via credent...## What does this MR do?
With this MR runner will correctly fetch credentials store from credsStore, if it's configured.
## Why was this MR needed?
In some environments, specifically in AWS, credentials are provided via credentials store, as documented here: https://docs.docker.com/engine/reference/commandline/login/#credentials-store. Currently this auth method doesn't work with gitlab runner. In case of AWS the only solution would be to re-trigger `aws ecr get-login` in a cron job every 12 hours to re-fetch credentials. See this Issue for more details: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1583
With new implementation, in addition to all previous ways to provide credentials, Gitlab Runner will also use credsStore, in a similar way Docker CLI does it.
Please notice, that this MR still doesn't cover all possible use cases, specifically it doesn't cover usage of "credsHelpers" key of Docker config - I can add it in next MR, if I get more time to work on this.
In any case, even without credsHelper support, this code change simplifies usage of Gitlab Runner combined with AWS ECR or GCE GCR, making authentication simple, transparent and automated. Also see:
* https://github.com/awslabs/amazon-ecr-credential-helper
* https://github.com/GoogleCloudPlatform/docker-credential-gcr
## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/15839.5Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/503Replace io.Copy with stdcopy.StdCopy for docker output handling2017-03-31T14:30:55ZTomasz Maczukintomasz@gitlab.comReplace io.Copy with stdcopy.StdCopy for docker output handling## What does this MR do?
Replaces `io.Copy()` with `github.com/docker/docker/pkg/stdcopy.StdCopy()` while handling docker output.
## Why was this MR needed?
Fixes regression introduced with !301. Please read https://gitlab.com/gitlab-...## What does this MR do?
Replaces `io.Copy()` with `github.com/docker/docker/pkg/stdcopy.StdCopy()` while handling docker output.
## Why was this MR needed?
Fixes regression introduced with !301. Please read https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/301#note_24583712 for a reference.
Thanks @ayufan for pointing to this function :)
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?v9.0Kamil TrzcińśkiKamil Trzcińśkihttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/507Show Docker image ID in job's log2017-03-16T00:33:11Zusername-removed-378947Show Docker image ID in job's log## What does this MR do?
It adds logging Docker image ID.
## Why was this MR needed?
Docker image name does not uniquely identify an image.
## Does this MR meet the acceptance criteria?
- ~~[ ] Documentation created/updat...## What does this MR do?
It adds logging Docker image ID.
## Why was this MR needed?
Docker image name does not uniquely identify an image.
## Does this MR meet the acceptance criteria?
- ~~[ ] Documentation created/updated~~
- Tests
- ~~[ ] Added for this feature/bug~~
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/2169v9.0Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/527Extend documentation about accessing docker services2017-10-06T11:00:27Zusername-removed-36680Extend documentation about accessing docker services## What does this MR do?
Adds a short note on how the hostname generation convention out from a docker service looks like.
A docker service defined in the `.gitlab-ci.yml` will be used to define the services hostname (serviceDescri...## What does this MR do?
Adds a short note on how the hostname generation convention out from a docker service looks like.
A docker service defined in the `.gitlab-ci.yml` will be used to define the services hostname (serviceDescription in `executors/docker/executor_docker.go`). This is perfectly described for using public service, unfortunately not for private service container, especially when they contain a port (from current doc: `Everything after : is stripped`).
## Moving docs to a new location?
Nope sir!v9.1https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/534Fix/cache containers dicsovering regression2017-03-31T14:36:42ZTomasz Maczukintomasz@gitlab.comFix/cache containers dicsovering regression## What does this MR do?
Fixes a regression introduced while switching to `github.com/docker/docker/client` library.
## Why was this MR needed?
Pleas read #2276 for a reference.
## Are there points in the code the reviewer ne...## What does this MR do?
Fixes a regression introduced while switching to `github.com/docker/docker/client` library.
## Why was this MR needed?
Pleas read #2276 for a reference.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Fixes #2276v9.0Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/541Docker runner add sysctl2017-08-22T20:28:22Zusername-removed-1235303Docker runner add sysctlAdds the `--sysctl` option to the Gitlab Docker runner.
https://docs.docker.com/engine/reference/commandline/run/#optionsAdds the `--sysctl` option to the Gitlab Docker runner.
https://docs.docker.com/engine/reference/commandline/run/#optionsusername-removed-1235303username-removed-1235303https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/557Don't show image's ID when it's the same as image's name2017-04-19T11:47:50ZTomasz Maczukintomasz@gitlab.comDon't show image's ID when it's the same as image's name## What does this MR do?
Removes `ID=sha256:.....` part of logged line when image's ID is used as image's name. Currently this information was doubled.
## Why was this MR needed?
Please look at #2374 for a reference
## Are there poin...## What does this MR do?
Removes `ID=sha256:.....` part of logged line when image's ID is used as image's name. Currently this information was doubled.
## Why was this MR needed?
Please look at #2374 for a reference
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #2374v9.1Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.com