Skip to content

Commit cc57026

Browse files
committed
Updates after 20251204
1 parent 58aeeae commit cc57026

43 files changed

Lines changed: 1383 additions & 1112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

hands-on/2025-11-27/110_triggers/example1.drawio.svg

Lines changed: 62 additions & 59 deletions
Loading

hands-on/2025-11-27/110_triggers/example2.drawio.svg

Lines changed: 86 additions & 83 deletions
Loading

hands-on/2025-11-27/150_matrix_jobs/exercise/index.html

Lines changed: 434 additions & 384 deletions
Large diffs are not rendered by default.

hands-on/2025-11-27/220_services/exercise/index.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,6 +1190,17 @@
11901190
</span>
11911191
</a>
11921192

1193+
</li>
1194+
1195+
<li class="md-nav__item">
1196+
<a href="#bonus-task-test-alias-for-service" class="md-nav__link">
1197+
<span class="md-ellipsis">
1198+
1199+
Bonus task: Test alias for service
1200+
1201+
</span>
1202+
</a>
1203+
11931204
</li>
11941205

11951206
</ul>
@@ -1623,6 +1634,17 @@
16231634
</span>
16241635
</a>
16251636

1637+
</li>
1638+
1639+
<li class="md-nav__item">
1640+
<a href="#bonus-task-test-alias-for-service" class="md-nav__link">
1641+
<span class="md-ellipsis">
1642+
1643+
Bonus task: Test alias for service
1644+
1645+
</span>
1646+
</a>
1647+
16261648
</li>
16271649

16281650
</ul>
@@ -2119,6 +2141,9 @@ <h2 id="task-2-move-the-service-into-the-job">Task 2: Move the service into the
21192141
</span></code></pre></div></td></tr></table></div>
21202142
</details>
21212143
<p>This was just a demonstration. The changes will not be preserved in the following chapters.</p>
2144+
<h2 id="bonus-task-test-alias-for-service">Bonus task: Test alias for service<a class="headerlink" href="#bonus-task-test-alias-for-service" title="Permanent link">&para;</a></h2>
2145+
<p>Add an alias for the service and test whether <code>curl</code> is able to use it.</p>
2146+
<p>See the <a href="https://docs.gitlab.com/ee/ci/yaml/#services">official documentation</a>.</p>
21222147

21232148

21242149

hands-on/2025-11-27/230_docker/exercise/index.html

Lines changed: 251 additions & 230 deletions
Large diffs are not rendered by default.

hands-on/2025-11-27/240_registries/exercise/index.html

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1809,7 +1809,12 @@ <h2 id="task-push-a-container-image">Task: Push a container image<a class="heade
18091809
<span class="normal"><a href="#__codelineno-0-124">124</a></span>
18101810
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
18111811
<span class="normal"><a href="#__codelineno-0-126">126</a></span>
1812-
<span class="normal"><a href="#__codelineno-0-127">127</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="nt">workflow</span><span class="p">:</span>
1812+
<span class="normal"><a href="#__codelineno-0-127">127</a></span>
1813+
<span class="normal"><a href="#__codelineno-0-128">128</a></span>
1814+
<span class="normal"><a href="#__codelineno-0-129">129</a></span>
1815+
<span class="normal"><a href="#__codelineno-0-130">130</a></span>
1816+
<span class="normal"><a href="#__codelineno-0-131">131</a></span>
1817+
<span class="normal"><a href="#__codelineno-0-132">132</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="nt">workflow</span><span class="p">:</span>
18131818
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="w"> </span><span class="nt">rules</span><span class="p">:</span>
18141819
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">if</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$CI_DEPLOY_FREEZE</span>
18151820
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a><span class="w"> </span><span class="nt">when</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">never</span>
@@ -1923,19 +1928,24 @@ <h2 id="task-push-a-container-image">Task: Push a container image<a class="heade
19231928
</span><span id="__span-0-112"><a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker:29.0.4-dind</span>
19241929
</span><span id="__span-0-113"><a id="__codelineno-0-113" name="__codelineno-0-113"></a><span class="w"> </span><span class="nt">variables</span><span class="p">:</span>
19251930
</span><span id="__span-0-114"><a id="__codelineno-0-114" name="__codelineno-0-114"></a><span class="w"> </span><span class="nt">DOCKER_TLS_CERTDIR</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;&quot;</span>
1926-
</span><span id="__span-0-115"><a id="__codelineno-0-115" name="__codelineno-0-115"></a><span class="hll"><span class="w"> </span><span class="nt">before_script</span><span class="p">:</span>
1927-
</span></span><span id="__span-0-116"><a id="__codelineno-0-116" name="__codelineno-0-116"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker login -u &quot;${CI_REGISTRY_USER}&quot; -p &quot;${CI_REGISTRY_PASSWORD}&quot; &quot;${CI_REGISTRY}&quot;</span>
1928-
</span></span><span id="__span-0-117"><a id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="hll"><span class="w"> </span><span class="nt">script</span><span class="p">:</span>
1929-
</span></span><span id="__span-0-118"><a id="__codelineno-0-118" name="__codelineno-0-118"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker build --tag &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot; .</span>
1930-
</span></span><span id="__span-0-119"><a id="__codelineno-0-119" name="__codelineno-0-119"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker push &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot;</span>
1931-
</span></span><span id="__span-0-120"><a id="__codelineno-0-120" name="__codelineno-0-120"></a><span class="hll"><span class="w"> </span><span class="nt">after_script</span><span class="p">:</span>
1932-
</span></span><span id="__span-0-121"><a id="__codelineno-0-121" name="__codelineno-0-121"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker logout &quot;${CI_REGISTRY}&quot;</span>
1933-
</span></span><span id="__span-0-122"><a id="__codelineno-0-122" name="__codelineno-0-122"></a>
1934-
</span><span id="__span-0-123"><a id="__codelineno-0-123" name="__codelineno-0-123"></a><span class="nt">trigger</span><span class="p">:</span>
1935-
</span><span id="__span-0-124"><a id="__codelineno-0-124" name="__codelineno-0-124"></a><span class="w"> </span><span class="nt">extends</span><span class="p">:</span>
1936-
</span><span id="__span-0-125"><a id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">.run-on-push-to-default-branch</span>
1937-
</span><span id="__span-0-126"><a id="__codelineno-0-126" name="__codelineno-0-126"></a><span class="w"> </span><span class="nt">trigger</span><span class="p">:</span>
1938-
</span><span id="__span-0-127"><a id="__codelineno-0-127" name="__codelineno-0-127"></a><span class="w"> </span><span class="nt">include</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">child.yaml</span>
1931+
</span><span id="__span-0-115"><a id="__codelineno-0-115" name="__codelineno-0-115"></a><span class="w"> </span><span class="nt">before_script</span><span class="p">:</span>
1932+
</span><span id="__span-0-116"><a id="__codelineno-0-116" name="__codelineno-0-116"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">|</span>
1933+
</span><span id="__span-0-117"><a id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="w"> </span><span class="no">while ! docker version; do</span>
1934+
</span><span id="__span-0-118"><a id="__codelineno-0-118" name="__codelineno-0-118"></a><span class="w"> </span><span class="no">echo &quot;Waiting for Docker...&quot;</span>
1935+
</span><span id="__span-0-119"><a id="__codelineno-0-119" name="__codelineno-0-119"></a><span class="w"> </span><span class="no">sleep 2</span>
1936+
</span><span id="__span-0-120"><a id="__codelineno-0-120" name="__codelineno-0-120"></a><span class="w"> </span><span class="no">done</span>
1937+
</span><span id="__span-0-121"><a id="__codelineno-0-121" name="__codelineno-0-121"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker login -u &quot;${CI_REGISTRY_USER}&quot; -p &quot;${CI_REGISTRY_PASSWORD}&quot; &quot;${CI_REGISTRY}&quot;</span>
1938+
</span></span><span id="__span-0-122"><a id="__codelineno-0-122" name="__codelineno-0-122"></a><span class="hll"><span class="w"> </span><span class="nt">script</span><span class="p">:</span>
1939+
</span></span><span id="__span-0-123"><a id="__codelineno-0-123" name="__codelineno-0-123"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker build --provenance=false -tag &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot; .</span>
1940+
</span></span><span id="__span-0-124"><a id="__codelineno-0-124" name="__codelineno-0-124"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker push &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot;</span>
1941+
</span></span><span id="__span-0-125"><a id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="hll"><span class="w"> </span><span class="nt">after_script</span><span class="p">:</span>
1942+
</span></span><span id="__span-0-126"><a id="__codelineno-0-126" name="__codelineno-0-126"></a><span class="hll"><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker logout &quot;${CI_REGISTRY}&quot;</span>
1943+
</span></span><span id="__span-0-127"><a id="__codelineno-0-127" name="__codelineno-0-127"></a>
1944+
</span><span id="__span-0-128"><a id="__codelineno-0-128" name="__codelineno-0-128"></a><span class="nt">trigger</span><span class="p">:</span>
1945+
</span><span id="__span-0-129"><a id="__codelineno-0-129" name="__codelineno-0-129"></a><span class="w"> </span><span class="nt">extends</span><span class="p">:</span>
1946+
</span><span id="__span-0-130"><a id="__codelineno-0-130" name="__codelineno-0-130"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">.run-on-push-to-default-branch</span>
1947+
</span><span id="__span-0-131"><a id="__codelineno-0-131" name="__codelineno-0-131"></a><span class="w"> </span><span class="nt">trigger</span><span class="p">:</span>
1948+
</span><span id="__span-0-132"><a id="__codelineno-0-132" name="__codelineno-0-132"></a><span class="w"> </span><span class="nt">include</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">child.yaml</span>
19391949
</span></code></pre></div></td></tr></table></div>
19401950
<p>If you want to jump to the solution, execute the following command:</p>
19411951
<div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>git<span class="w"> </span>checkout<span class="w"> </span>upstream/160_gitlab_ci/240_registries<span class="w"> </span>--<span class="w"> </span><span class="s1">&#39;*&#39;</span>

hands-on/2025-11-27/250_releases/exercise/index.html

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1786,7 +1786,12 @@ <h2 id="task-create-a-release">Task: Create a release<a class="headerlink" href=
17861786
<span class="normal"><a href="#__codelineno-1-122">122</a></span>
17871787
<span class="normal"><a href="#__codelineno-1-123">123</a></span>
17881788
<span class="normal"><a href="#__codelineno-1-124">124</a></span>
1789-
<span class="normal"><a href="#__codelineno-1-125">125</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1"></a><span class="nt">workflow</span><span class="p">:</span>
1789+
<span class="normal"><a href="#__codelineno-1-125">125</a></span>
1790+
<span class="normal"><a href="#__codelineno-1-126">126</a></span>
1791+
<span class="normal"><a href="#__codelineno-1-127">127</a></span>
1792+
<span class="normal"><a href="#__codelineno-1-128">128</a></span>
1793+
<span class="normal"><a href="#__codelineno-1-129">129</a></span>
1794+
<span class="normal"><a href="#__codelineno-1-130">130</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-1-1"><a id="__codelineno-1-1" name="__codelineno-1-1"></a><span class="nt">workflow</span><span class="p">:</span>
17901795
</span><span id="__span-1-2"><a id="__codelineno-1-2" name="__codelineno-1-2"></a><span class="w"> </span><span class="nt">rules</span><span class="p">:</span>
17911796
</span><span id="__span-1-3"><a id="__codelineno-1-3" name="__codelineno-1-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">if</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">$CI_DEPLOY_FREEZE</span>
17921797
</span><span id="__span-1-4"><a id="__codelineno-1-4" name="__codelineno-1-4"></a><span class="w"> </span><span class="nt">when</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">never</span>
@@ -1899,18 +1904,23 @@ <h2 id="task-create-a-release">Task: Create a release<a class="headerlink" href=
18991904
</span><span id="__span-1-111"><a id="__codelineno-1-111" name="__codelineno-1-111"></a><span class="w"> </span><span class="nt">variables</span><span class="p">:</span>
19001905
</span><span id="__span-1-112"><a id="__codelineno-1-112" name="__codelineno-1-112"></a><span class="w"> </span><span class="nt">DOCKER_TLS_CERTDIR</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;&quot;</span>
19011906
</span><span id="__span-1-113"><a id="__codelineno-1-113" name="__codelineno-1-113"></a><span class="w"> </span><span class="nt">before_script</span><span class="p">:</span>
1902-
</span><span id="__span-1-114"><a id="__codelineno-1-114" name="__codelineno-1-114"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker login -u &quot;${CI_REGISTRY_USER}&quot; -p &quot;${CI_REGISTRY_PASSWORD}&quot; &quot;${CI_REGISTRY}&quot;</span>
1903-
</span><span id="__span-1-115"><a id="__codelineno-1-115" name="__codelineno-1-115"></a><span class="w"> </span><span class="nt">script</span><span class="p">:</span>
1904-
</span><span id="__span-1-116"><a id="__codelineno-1-116" name="__codelineno-1-116"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker build --tag &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot; .</span>
1905-
</span><span id="__span-1-117"><a id="__codelineno-1-117" name="__codelineno-1-117"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker push &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot;</span>
1906-
</span><span id="__span-1-118"><a id="__codelineno-1-118" name="__codelineno-1-118"></a><span class="w"> </span><span class="nt">after_script</span><span class="p">:</span>
1907-
</span><span id="__span-1-119"><a id="__codelineno-1-119" name="__codelineno-1-119"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker logout &quot;${CI_REGISTRY}&quot;</span>
1908-
</span><span id="__span-1-120"><a id="__codelineno-1-120" name="__codelineno-1-120"></a>
1909-
</span><span id="__span-1-121"><a id="__codelineno-1-121" name="__codelineno-1-121"></a><span class="nt">trigger</span><span class="p">:</span>
1910-
</span><span id="__span-1-122"><a id="__codelineno-1-122" name="__codelineno-1-122"></a><span class="w"> </span><span class="nt">extends</span><span class="p">:</span>
1911-
</span><span id="__span-1-123"><a id="__codelineno-1-123" name="__codelineno-1-123"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">.run-on-push-to-default-branch</span>
1912-
</span><span id="__span-1-124"><a id="__codelineno-1-124" name="__codelineno-1-124"></a><span class="w"> </span><span class="nt">trigger</span><span class="p">:</span>
1913-
</span><span id="__span-1-125"><a id="__codelineno-1-125" name="__codelineno-1-125"></a><span class="w"> </span><span class="nt">include</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">child.yaml</span>
1907+
</span><span id="__span-1-114"><a id="__codelineno-1-114" name="__codelineno-1-114"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">|</span>
1908+
</span><span id="__span-1-115"><a id="__codelineno-1-115" name="__codelineno-1-115"></a><span class="w"> </span><span class="no">while ! docker version; do</span>
1909+
</span><span id="__span-1-116"><a id="__codelineno-1-116" name="__codelineno-1-116"></a><span class="w"> </span><span class="no">echo &quot;Waiting for Docker...&quot;</span>
1910+
</span><span id="__span-1-117"><a id="__codelineno-1-117" name="__codelineno-1-117"></a><span class="w"> </span><span class="no">sleep 2</span>
1911+
</span><span id="__span-1-118"><a id="__codelineno-1-118" name="__codelineno-1-118"></a><span class="w"> </span><span class="no">done</span>
1912+
</span><span id="__span-1-119"><a id="__codelineno-1-119" name="__codelineno-1-119"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker login -u &quot;${CI_REGISTRY_USER}&quot; -p &quot;${CI_REGISTRY_PASSWORD}&quot; &quot;${CI_REGISTRY}&quot;</span>
1913+
</span><span id="__span-1-120"><a id="__codelineno-1-120" name="__codelineno-1-120"></a><span class="w"> </span><span class="nt">script</span><span class="p">:</span>
1914+
</span><span id="__span-1-121"><a id="__codelineno-1-121" name="__codelineno-1-121"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker build --provenance=false --tag &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot; .</span>
1915+
</span><span id="__span-1-122"><a id="__codelineno-1-122" name="__codelineno-1-122"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker push &quot;${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}&quot;</span>
1916+
</span><span id="__span-1-123"><a id="__codelineno-1-123" name="__codelineno-1-123"></a><span class="w"> </span><span class="nt">after_script</span><span class="p">:</span>
1917+
</span><span id="__span-1-124"><a id="__codelineno-1-124" name="__codelineno-1-124"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">docker logout &quot;${CI_REGISTRY}&quot;</span>
1918+
</span><span id="__span-1-125"><a id="__codelineno-1-125" name="__codelineno-1-125"></a>
1919+
</span><span id="__span-1-126"><a id="__codelineno-1-126" name="__codelineno-1-126"></a><span class="nt">trigger</span><span class="p">:</span>
1920+
</span><span id="__span-1-127"><a id="__codelineno-1-127" name="__codelineno-1-127"></a><span class="w"> </span><span class="nt">extends</span><span class="p">:</span>
1921+
</span><span id="__span-1-128"><a id="__codelineno-1-128" name="__codelineno-1-128"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">.run-on-push-to-default-branch</span>
1922+
</span><span id="__span-1-129"><a id="__codelineno-1-129" name="__codelineno-1-129"></a><span class="w"> </span><span class="nt">trigger</span><span class="p">:</span>
1923+
</span><span id="__span-1-130"><a id="__codelineno-1-130" name="__codelineno-1-130"></a><span class="w"> </span><span class="nt">include</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">child.yaml</span>
19141924
</span></code></pre></div></td></tr></table></div>
19151925
<p>If you want to jump to the solution, execute the following command:</p>
19161926
<div class="language-bash highlight"><pre><span></span><code><span id="__span-2-1"><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>git<span class="w"> </span>checkout<span class="w"> </span>upstream/160_gitlab_ci/250_releases<span class="w"> </span>--<span class="w"> </span><span class="s1">&#39;*&#39;</span>

0 commit comments

Comments
 (0)