gitlab:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gitlab:start [2020/11/10 14:22] – [CLI tools] tomgitlab:start [2022/03/20 15:25] (current) – [Documentation] tom
Line 7: Line 7:
 CI/CD : CI/CD :
  
-  * La [[https://docs.gitlab.com/ee/user/gitlab_com/index.html|configuration spécifique à l'instance SaaS GitLab.com]].+  * La [[https://docs.gitlab.com/ee/user/gitlab_com/index.html|configuration spécifique à l'instance SaaS GitLab.com]] et [[https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner.html#configtoml|celle des Runners Saas]]. 
 + 
 +  * [[https://docs.gitlab.com/ee/user/project/integrations/webhooks.html|Webhooks]]
  
  
 ===== CLI tools ===== ===== CLI tools =====
  
-^ Project ^  Language  ^  CLI  ^  Interactive shell  ^ +^ Project ^ What  ^  Language  ^  CLI  ^  Interactive shell  ^ 
-| [[https://github.com/profclems/glab]] |  Go  |  ✔  |  ✔✔  | +| [[https://github.com/profclems/glab]] | CLI |  Go  |  ✔  |  ✔✔  | 
-| https://metacpan.org/release/GitLab-API-v4 |  Perl  |  ✔  |  ✘  | +| https://metacpan.org/release/GitLab-API-v4 | CLI |  Perl  |  ✔  |  ✘  | 
-| https://github.com/python-gitlab/python-gitlab |  Python  |  ✔  |  ✘  | +| https://github.com/python-gitlab/python-gitlab | CLI |  Python  |  ✔  |  ✘  | 
-| https://github.com/narkoz/gitlab |  Ruby  |  ✔  |  ✘  |+| https://github.com/narkoz/gitlab | CLI |  Ruby  |  ✔  |  ✘  | 
 +| https://github.com/michaellihs/golab | CLI |  Go   |   ✔  |  ✘  | 
 +| https://gitlab.com/AdrianDC/gitlabci-local | Local runner |  Python  |   ✔  |   ✔  |
  
 ===== Awesome Pipelines ===== ===== Awesome Pipelines =====
  
-To infinite and beyond: [[https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml|GitLab's onw pipeline]]. +[[https://docs.gitlab.com/ee/ci/examples/README.html|GitLab CI/CD Examples]] right from the doc.
- +
-Also, [[https://docs.gitlab.com/ee/ci/examples/README.html|GitLab CI/CD Examples]] right from the doc.+
  
 ==== Docker ==== ==== Docker ====
 +
   * The shiny [[https://gitlab.com/pipeline-components/org/config/-/blob/master/pipeline.yml|pipeline.yml]] file from the [[https://pipeline-components.dev/|pipeline-components]] project.   * The shiny [[https://gitlab.com/pipeline-components/org/config/-/blob/master/pipeline.yml|pipeline.yml]] file from the [[https://pipeline-components.dev/|pipeline-components]] project.
 +  * [[https://about.gitlab.com/images/13_3/cartesian-matrix.png]] : Best Practices blog post, including a Drop-in simple Docker CI.
  
 ==== Misc ==== ==== Misc ====
 +
   * The Debian [[https://salsa.debian.org/salsa-ci-team/pipeline|salsa-ci-team/pipeline]] project   * The Debian [[https://salsa.debian.org/salsa-ci-team/pipeline|salsa-ci-team/pipeline]] project
 +  * To infinite and beyond: [[https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml|GitLab's own pipeline]] - even the [[https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/ci/rules.gitlab-ci.yml|rules files]] is ~1500 lines long 8-O
  
-===== Todo/Explore/etc =====+===== GitLabForm =====
  
-  * [[https://wes.today/building-multi-arch-docker-images|Multi-architecture Docker images builds]]+Long term goal: use https://github.com/egnyte/gitlabform !
  
 +Des trucs à faire, voir, explorer, penser:
 +
 +  * Un webhook sur ''project_create'' pour faire un coup de sed direct, pour changer les ''<nowiki>{{IMAGENAME}}</nowiki>'' et autres ''<nowiki>{{DEFAULT_COMMAND}}</nowiki>''.
 +
 +Docs and pointers:
 +
 +  * https://docs.gitlab.com/ee/development/cicd/templates.html Premium/Gold only :(
 +  * https://docs.gitlab.com/ee/user/project/settings/import_export.html
 +
 +===== Todo/Explore/etc =====
 +
 +  * [[https://web.archive.org/web/20201201114733/https://wes.today/building-multi-arch-docker-images|Multi-architecture Docker images builds]]
 +    * [[https://www.docker.com/blog/multi-arch-build-what-about-gitlab-ci/|Pareil mais avec une image buildx pré-construite]] 8-) qu'on trouve sur [[https://github.com/jdrouet/docker-with-buildx/blob/master/Dockerfile|jdrouet/docker-with-buildx]] 8-)
 ==== Parent-Child Pipelines ==== ==== Parent-Child Pipelines ====
  
Line 55: Line 74:
   * Project2 does QA.   * Project2 does QA.
   * m(   * m(
 +
 +==== Matrix ====
 +
 +  * [[https://about.gitlab.com/releases/2020/08/22/gitlab-13-3-released/#create-a-matrix-of-jobs-using-a-simple-syntax|Blog announce]]
 +  * [[https://docs.gitlab.com/ee/ci/yaml/#parallel-matrix-jobs|documentation]] in the ''.gitlab-ci.yml Reference''
 +
 +<WRAP 45% left>
 +<code yaml>
 +deploystacks:
 +  stage: deploy
 +  script:
 +    - bin/deploy
 +  parallel:
 +    matrix:
 +      - PROVIDER: aws
 +        STACK:
 +          - monitoring
 +          - app1
 +          - app2
 +      - PROVIDER: ovh
 +        STACK: [monitoring, backup, app]
 +      - PROVIDER: [gcp, vultr]
 +        STACK: [data, processing]
 +</code>
 +</WRAP>
 +<WRAP 47% right>
 +{{https://about.gitlab.com/images/13_3/cartesian-matrix.png|Combination of Architectures, Environments, Versions.}}
 +</WRAP>
 +
 +<WRAP clear></WRAP>
 +===== python-gitlab cheatsheet =====
 +
 +A wrapper with bash-completion:
 +<file bash /usr/local/bin/gitlab-python>
 +#!/bin/sh
 +# bash completion
 +/home/tom/.virtualenv/python-gitlab/bin/register-python-argcomplete $( basename $0 ) | bash -
 +# wrapper
 +/home/tom/.virtualenv/python-gitlab/bin/python /home/tom/.virtualenv/python-gitlab/bin/gitlab "$@"
 +</file>
 +
 +''git pull'' all projects from a group:
 +
 +<code bash>
 +gitlab-python -o json \
 +  group-project list \
 +  --all --include-subgroups true \
 +  --group-id 9969158
 +  | jq -r '.[].ssh_url_to_repo' \
 +  | xargs ghq get
 +</code>
  • gitlab/start.1605014523.txt.gz
  • Last modified: 2020/11/10 14:22
  • by tom