This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
инструмент_gitlab [2024/04/16 08:14] val [Установка из пакета] |
инструмент_gitlab [2024/09/14 06:40] (current) val [Пример shell docker] |
||
---|---|---|---|
Line 84: | Line 84: | ||
- '/srv/gitlab/data:/var/opt/gitlab' | - '/srv/gitlab/data:/var/opt/gitlab' | ||
shm_size: '256m' | shm_size: '256m' | ||
+ | logging: | ||
+ | driver: "json-file" | ||
+ | options: | ||
+ | max-size: "2048m" | ||
</code><code> | </code><code> | ||
# ### cat /etc/gitlab/ssl/gitlab.bmstu.ru.{crt,key} | # ### cat /etc/gitlab/ssl/gitlab.bmstu.ru.{crt,key} | ||
Line 108: | Line 112: | ||
<code> | <code> | ||
- | root@node1,2,3:~# curl "http://server.corpX.un/api/v4/projects/2/repository/files/docker-compose.yml/raw?ref=master" | tee docker-compose.yml | + | root@node1,2,3:~# curl "http://server.corpX.un/api/v4/projects/2/repository/files/docker-compose.yml/raw" | tee docker-compose.yml |
или, для НЕ публичных проектов | или, для НЕ публичных проектов | ||
Line 196: | Line 200: | ||
<code> | <code> | ||
- | mkdir /etc/gitlab/ssl/ | + | mkdir -p /etc/gitlab/ssl/ |
cp wild.crt -v /etc/gitlab/ssl/$(hostname).crt | cp wild.crt -v /etc/gitlab/ssl/$(hostname).crt | ||
Line 269: | Line 273: | ||
* [[https://docs.gitlab.com/runner/install/linux-manually.html|Install GitLab Runner manually on GNU/Linux]] | * [[https://docs.gitlab.com/runner/install/linux-manually.html|Install GitLab Runner manually on GNU/Linux]] | ||
- | * [[https://val.bmstu.ru/unix/Git/gitlab-runner_amd64.deb]] (15.0.0) | + | * [[https://val.bmstu.ru/unix/Git/gitlab-runner_amd64.deb]] (16.10.0) |
<code> | <code> | ||
Line 302: | Line 306: | ||
# gitlab-runner register -n --executor "shell" -u http://server.corpX.un -r "NNNNNNNNNNNNNNNNNNNNNNNNNNNN" | # gitlab-runner register -n --executor "shell" -u http://server.corpX.un -r "NNNNNNNNNNNNNNNNNNNNNNNNNNNN" | ||
</code> | </code> | ||
+ | |||
+ | или по инструкции в "New instance runner" | ||
Перезапускать не нужно | Перезапускать не нужно | ||
+ | |||
+ | <code> | ||
+ | # gitlab-runner verify | ||
+ | </code> | ||
<code> | <code> | ||
Line 311: | Line 321: | ||
</code><code> | </code><code> | ||
# systemctl restart gitlab-runner | # systemctl restart gitlab-runner | ||
- | |||
- | # gitlab-runner verify | ||
</code> | </code> | ||
Line 448: | Line 456: | ||
<code> | <code> | ||
- | # Надо назначить в GitLab (Settings -> CI/CD -> Variables) | + | # Можно назначить в GitLab (Settings -> CI/CD -> Variables) |
- | export MY_CI_REGISTRY=server.corpX.un:5000 | + | # export MY_CI_REGISTRY=server.corpX.un:5000 |
- | export MY_CI_REGISTRY_IMAGE=student/webd | + | # export MY_CI_REGISTRY_IMAGE=student/webd |
- | # Можно использовать встроенные CI_REGISTRY и CI_REGISTRY_IMAGE | + | # или использовать встроенные CI_REGISTRY и CI_REGISTRY_IMAGE |
- | # поскольку используем этот же проект GitLab как registry | + | # поскольку используем этот же проект GitLab как Registry |
- | # в GitLab будет устанавлено автоматически | + | # в GitLab будет установлено автоматически после git commit -m "ver 1.2" и git push |
- | export CI_COMMIT_MESSAGE="ver 1.2" | + | # export CI_COMMIT_MESSAGE="ver 1.2" |
</code> | </code> | ||
Line 465: | Line 473: | ||
VER="$(echo $CI_COMMIT_MESSAGE | sed 's/[^a-zA-Z0-9\.]//g')" | VER="$(echo $CI_COMMIT_MESSAGE | sed 's/[^a-zA-Z0-9\.]//g')" | ||
- | # need only one time | + | # needed once |
# docker login -u $MY_CI_REGISTRY_USER -p $MY_CI_REGISTRY_PASSWORD $MY_CI_REGISTRY | # docker login -u $MY_CI_REGISTRY_USER -p $MY_CI_REGISTRY_PASSWORD $MY_CI_REGISTRY | ||
# docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | # docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | ||
docker build -t webd webd | docker build -t webd webd | ||
- | #docker build --no-cache -t webd webd | ||
- | docker tag webd $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE:$VER | + | #docker run --rm -e MYMODE=TEST webd || exit 1 |
- | docker tag webd $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE | + | |
- | #docker tag webd $CI_REGISTRY_IMAGE:$VER | + | #docker tag webd $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE:$VER |
- | #docker tag webd $CI_REGISTRY_IMAGE | + | #docker tag webd $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE |
+ | docker tag webd $CI_REGISTRY_IMAGE:$VER | ||
+ | docker tag webd $CI_REGISTRY_IMAGE | ||
# previously need: docker login ... | # previously need: docker login ... | ||
- | docker push $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE:$VER | + | #docker push $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE:$VER |
- | docker push $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE | + | #docker push $MY_CI_REGISTRY/$MY_CI_REGISTRY_IMAGE |
- | #docker push $CI_REGISTRY_IMAGE:$VER | + | docker push $CI_REGISTRY_IMAGE:$VER |
- | #docker push $CI_REGISTRY_IMAGE | + | docker push $CI_REGISTRY_IMAGE |
</code><code> | </code><code> | ||
gitlab-runner@server:~/webd$ cat .gitlab-ci.yml | gitlab-runner@server:~/webd$ cat .gitlab-ci.yml | ||
Line 494: | Line 503: | ||
stage: lintertest | stage: lintertest | ||
script: | script: | ||
- | - echo $(date) "Do a test webd here" >> /tmp/Bash.gitlab-ci.log | + | # - echo $(date) "Do a test webd here" >> /tmp/Bash.gitlab-ci.log |
- shellcheck webd/webd | - shellcheck webd/webd | ||
tags: | tags: | ||
Line 502: | Line 511: | ||
stage: build | stage: build | ||
script: | script: | ||
- | - echo $(date) "Do a build webd here" >> /tmp/Bash.gitlab-ci.log | + | # - echo $(date) "Do a build webd here" >> /tmp/Bash.gitlab-ci.log |
- | # - env | tee /tmp/Bash.gitlab-ci.log | + | # - env | tee -a /tmp/Bash.gitlab-ci.log |
- sh build.sh | - sh build.sh | ||
tags: | tags: | ||
Line 511: | Line 520: | ||
# stage: deploy | # stage: deploy | ||
# script: | # script: | ||
- | # - echo $(date) "Do your deploy webd to k8s here" >> /tmp/Bash.gitlab-ci.log | ||
# - sh deploy.sh | # - sh deploy.sh | ||
# tags: | # tags: |