Commit 7b34e716 authored by nimrod's avatar nimrod
Browse files

Updates.

- New version.
- pre-commit.
- GitLab CI/CD.
- Always pull new images.
parent 8f95098a
Loading
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
COMPOSE_PROJECT_NAME=gitlab-runner
DOCKER_HOST=ssh://host01.shore.co.il
RUNNER_NAME=host01.shore.co.il

.gitlab-ci.yml

0 → 100644
+61 −0
Original line number Diff line number Diff line
---
image: adarnimrod/ci-images:docker

stages:
  - test
  - build
  - run

pre-commit:
  stage: test
  image: adarnimrod/ci-images:pre-commit
  variables:
    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
    # Disabled until https://github.com/pre-commit/pre-commit/issues/1387 is
    # resolved.
    SKIP: "hadolint,docker-compose"
  script:
    - pre-commit run --all-files
  cache:
    paths:
      - .cache/

build:
  stage: build
  tags:
    - "$host"
  variables:
    COMPOSE_DOCKER_CLI_BUILD: "1"
    DOCKER_BUILDKIT: "1"
  script:
    - docker-compose build --no-cache --pull
    - docker-compose pull --quiet
  parallel: &parallel
    matrix:
      - host:
        - host01.shore.co.il
        - kodi.shore.co.il
        REGISTER_RUN_UNTAGGED: "false"
      - host:
        - ns4.shore.co.il
        REGISTER_RUN_UNTAGGED: "true"

run:
  stage: run
  tags:
    - $host
  variables:
    RUNNER_NAME: "$host"
    RUNNER_TAG_LIST: "$host"
  when: manual
  script:
    - docker-compose up --detach --remove-orphans
    # yamllint disable rule:line-length
    - |
        for i in $(seq 12)
        do
            docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$' || break
            sleep 10
        done
        ! docker container inspect --format '{{ .State.Health.Status }}' $(docker-compose ps -q) | grep -v '^healthy$'
  parallel: *parallel
+29 −0
Original line number Diff line number Diff line
# vim:ff=unix ts=2 sw=2 ai expandtab
---
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.3.0
    hooks:
      - id: check-added-large-files
      - id: check-merge-conflict
      - id: detect-private-key
      - id: trailing-whitespace
  - repo: https://github.com/adrienverge/yamllint
    rev: v1.17.0
    hooks:
      - id: yamllint
  - repo: https://github.com/amperser/proselint/
    rev: 0.10.2
    hooks:
      - id: proselint
        types: [plain-text]
        exclude: LICENSE
  - repo: https://github.com/Yelp/detect-secrets
    rev: v0.13.0
    hooks:
      - id: detect-secrets
  - repo: https://git.shore.co.il/nimrod/docker-pre-commit.git/
    rev: v0.3.0
    hooks:
      - id: docker-compose
      - id: hadolint
+2 −7
Original line number Diff line number Diff line
@@ -12,15 +12,10 @@ dockerd socket mounted inside the container).
## Usage

First of all, get the registration token from
https://git.shore.co.il/admin/runners. To build and run on `host01.shore.co.il`,
https://git.shore.co.il/admin/runners. To build and run on `ns4.shore.co.il`,
just run:
```
docker-compose build && REGISTRATION_TOKEN='INSERT_TOKEN' docker-compose up -d
```

If you want to run on a different host (for example `ns4.shore.co.il`), run:
```
DOCKER_HOST=ssh://ns4.shore.co.il docker-compose build && DOCKER_HOST=ssh://ns4.shore.co.il REGISTRATION_TOKEN='INSERT_TOKEN' RUNNER_NAME=ns4.shore.co.il docker-compose up -d
DOCKER_HOST=ssh://ns4.shore.co.il docker-compose build && DOCKER_HOST=ssh://ns4.shore.co.il REGISTRATION_TOKEN='INSERT_TOKEN' RUNNER_NAME=ns4.shore.co.il REGISTER_RUN_UNTAGGED="true" docker-compose up -d
```

## License
+2 −2
Original line number Diff line number Diff line
FROM gitlab/gitlab-runner:alpine-v13.6.0-rc1
FROM gitlab/gitlab-runner:alpine-v13.7.0-rc1
RUN apk add --no-cache --update docker
COPY --chown=root:root entrypoint /entrypoint0
ENV DOCKER_VOLUMES=/var/run/docker.sock:/var/run/docker.sock \
    RUNNER_EXECUTOR=docker \
    DOCKER_PULL_POLICY=if-not-present
    DOCKER_PULL_POLICY=always
ENTRYPOINT [ "/entrypoint0" ]
CMD [ "run", "--user=gitlab-runner", "--working-directory=/home/gitlab-runner" ]
HEALTHCHECK CMD gitlab-runner list 2>&1 | grep -qF "$CI_SERVER_URL"