|
|
# Gitlab Runner
|
|
|
## Infrastruktur
|
|
|
|
|
|
Die Gitlab Runner Infrastruktur läuft auf einem Virtuellen Server von Switchengines [engines.switch.ch](https://engines.switch.ch) .
|
|
|
* Name: gitlab-runner-admintools
|
|
|
* Interne IP: 10.0.113.236
|
|
|
* IPv6: 2001:620:5ca1:1f0:f816:3eff:fec8:9b39
|
|
|
* Externe IP: 86.119.33.139
|
|
|
* Login ssh: nur mit Key (für key siehe WebTeam Storage Share, weitere Details zum Server auf dem SwitchEngines Portal
|
|
|
|
|
|
## Gitlab Runner Installation:
|
|
|
|
|
|
* `sudo su`
|
|
|
* `curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash`
|
|
|
* `yum install gitlab-runner -y`
|
|
|
* `/usr/share/gitlab-runner/post-install`
|
|
|
* `yum install docker && systemctl enable docker && systemctl start docker`
|
|
|
* `setenforce 0`
|
|
|
* `reboot`
|
|
|
|
|
|
## Erstellen Angepasster Docker Images
|
|
|
### Projekt hsrmas/admintools
|
|
|
* `git clone https://github.com/CentOS/sig-cloud-instance-images`
|
|
|
* `cd sig-cloud-instance-images/docker`
|
|
|
* `docker login cr.gitlab.fhnw.ch`
|
|
|
* Die Datei Dockerfile ändern zu:
|
|
|
|
|
|
```
|
|
|
FROM scratch
|
|
|
ADD centos-7-docker.tar.xz /
|
|
|
|
|
|
LABEL org.label-schema.schema-version = "1.0" \
|
|
|
org.label-schema.name="CentOS Base Image" \
|
|
|
org.label-schema.vendor="CentOS" \
|
|
|
org.label-schema.license="GPLv2" \
|
|
|
org.label-schema.build-date="20180402"
|
|
|
|
|
|
RUN yum -y install sudo
|
|
|
RUN useradd -m docker && usermod -aG wheel docker
|
|
|
RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
|
RUN yum install epel-release -y
|
|
|
RUN yum groupinstall "Development tools" -y
|
|
|
RUN yum install sqlite-devel libjpeg-turbo-devel libxml2-devel readline-devel pcre-devel db4-devel zlib-devel bzip2-devel openssl-devel libxslt-devel ncurses-devel postgresql-devel zlib-devel -y
|
|
|
RUN yum install python36 -y
|
|
|
|
|
|
USER docker
|
|
|
CMD ["/bin/bash"]
|
|
|
|
|
|
```
|
|
|
* `docker build -f Dockerfile -t cr.gitlab.fhnw.ch/hsrmas/admintools --no-cache . `
|
|
|
* `docker push cr.gitlab.fhnw.ch/hsrmas/admintools`
|
|
|
|
|
|
### Gitlab Runner Registrieren:
|
|
|
|
|
|
`gitlab-runner register`
|
|
|
|
|
|
```
|
|
|
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
|
|
|
https://gitlab.fhnw.ch
|
|
|
|
|
|
Please enter the gitlab-ci token for this runner
|
|
|
xxx (siehe https://gitlab.fhnw.ch/admin/runners)
|
|
|
|
|
|
Please enter the gitlab-ci description for this runner
|
|
|
[hostame] gitlab-runner-admintools
|
|
|
|
|
|
Please enter the gitlab-ci tags for this runner (comma separated):
|
|
|
admintools,backend,python
|
|
|
|
|
|
Whether to run untagged jobs [true/false]:
|
|
|
[false]: true
|
|
|
|
|
|
Whether to lock Runner to current project [true/false]:
|
|
|
[true]: true
|
|
|
|
|
|
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
|
|
|
docker
|
|
|
|
|
|
Please enter the Docker image (eg. ruby:2.1):
|
|
|
cr.gitlab.fhnw.ch/hsrmas/admintools
|
|
|
```
|
|
|
Jetzt muss unter gitlab.fhnw.ch/admin/runners der neue Runner noch für das Projekt aktiviert werden.
|
|
|
|
|
|
FERTIG
|
|
|
|
|
|
Analog Vorgehen für das zweite projekt admintools-frontend mit der diesem Dockerfile:
|
|
|
```
|
|
|
FROM scratch
|
|
|
ADD centos-7-docker.tar.xz /
|
|
|
|
|
|
LABEL org.label-schema.schema-version = "1.0" \
|
|
|
org.label-schema.name="CentOS Base Image" \
|
|
|
org.label-schema.vendor="CentOS" \
|
|
|
org.label-schema.license="GPLv2" \
|
|
|
org.label-schema.build-date="20180402"
|
|
|
|
|
|
RUN yum -y install sudo
|
|
|
RUN useradd -m docker && usermod -aG wheel docker
|
|
|
RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
|
RUN yum install epel-release -y
|
|
|
RUN yum install bzip2 -y
|
|
|
RUN yum install nodejs -y
|
|
|
|
|
|
USER docker
|
|
|
CMD ["/bin/bash"]
|
|
|
|
|
|
```
|
|
|
|
|
|
\ No newline at end of file |