GitLab Templates
This repository contains miscellaneous resources that need to be accessible without authentication.
GitLab CI templates
Two templates with default CI pipeline configurations are provided, for any repo to make use of:
-
.gitlab-industrial-ci-kinetic-no-rosinstall.yml
-
.gitlab-industrial-ci-kinetic-with-rosinstall.yml
Both define basically the same pipeline, consisting of the following stages and jobs:
-
Stage:
precheck
-
Check python syntax
-
-
Stage:
build
-
Run
industrial_ci
-
Uses
flexbotics-base-devel
as a starting image -
Runs scripts/ci_run_entry_points.sh in the
BEFORE_SCRIPT
stage, which in turn finds and runs everyci_entry_script.bash
script found in the source tree (target repo + repos from.rosinstall
)
-
-
Only when tags are pushed:
-
Run some cleanup in the
industrial_ci
context (e.g. delete sources) -
Commit image used by
industrial_ci
-
Build deployment image on top of it and push it to our registry
-
-
-
Stage:
postcheck
(jobs in this stage are allowed to fail)-
Check
bash
/sh
script syntax -
Check Markdown syntax
-
Check files have no trailing whitespace and are UTF-8 encoded
-
It is important to note that both images set the variable GIT_LFS_SKIP_SMUDGE
, which means that when the repositories are cloned/fetched, the files hosted using Git LFS will not be downloaded. An example on how to explicitely fetch the files from LFS can be found in the common_config repository.
Custom rosdep
definitions
Custom rosdep
definitions for the packages hosted in our internal debian repository are declared in rosdistro/rosdep_tecnalia.yaml.
Deployment image build resources
Resources required for building the deployment docker images are also hosted in this repository. This basically boils down to:
-
scripts/pre-deploy-cleanup.bash is run in the
industrial_ci
container before commiting to an image -
deploy/Dockerfile is used to perform some additional cleanup and install deploy/ros_entrypoint.bash as entrypoint script on top of the
industrial_ci
image