summaryrefslogtreecommitdiffhomepage
path: root/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-05-02 06:47:07 +0900
committernsfisis <nsfisis@gmail.com>2025-05-02 06:47:07 +0900
commit09b8483ed67d3b85e983ef86c34260081975e1cb (patch)
tree724871a9c2db964fca535e1d1fc644325b1edda3 /vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd
parent742ee8ed6d300318089b6ae050dc123a88c85b4a (diff)
downloadnsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.tar.gz
nsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.tar.zst
nsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.zip
fix(blog/nuldoc): remove unnecessary "language" attribute
Diffstat (limited to 'vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd')
-rw-r--r--vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html12
1 files changed, 6 insertions, 6 deletions
diff --git a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
index 8a8897f5..db6ea870 100644
--- a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
+++ b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
@@ -86,7 +86,7 @@
<p>
例:
</p>
- <div class="codeblock" language="yaml">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#22863A">hello-world</span><span style="color:#24292E">:</span></span>
<span class="line"><span style="color:#22863A"> stage</span><span style="color:#24292E">: </span><span style="color:#032F62">test</span></span>
<span class="line"><span style="color:#22863A"> image</span><span style="color:#24292E">: </span><span style="color:#032F62">alpine:latest</span></span>
@@ -102,7 +102,7 @@
<p>
では、次のようなケースだとどうなるか。
</p>
- <div class="codeblock" language="yaml">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#22863A">hello-world</span><span style="color:#24292E">:</span></span>
<span class="line"><span style="color:#22863A"> stage</span><span style="color:#24292E">: </span><span style="color:#032F62">test</span></span>
<span class="line"><span style="color:#22863A"> image</span><span style="color:#24292E">: </span><span style="color:#032F62">alpine:latest</span></span>
@@ -121,7 +121,7 @@
<p>
前述したようなケースにおいて、途中で失敗したときに全体を失敗させるには、<code>pipefail</code> オプションを有効にする。
</p>
- <div class="codeblock" language="bash">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D"># On にする</span></span>
<span class="line"><span style="color:#005CC5">set</span><span style="color:#005CC5"> -o</span><span style="color:#032F62"> pipefail</span></span>
<span class="line"><span style="color:#6A737D"># Off にする</span></span>
@@ -137,7 +137,7 @@
<p>
次のような GitLab CI/CD ジョブが失敗してしまった。
</p>
- <div class="codeblock" language="yaml">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#22863A">hoge</span><span style="color:#24292E">:</span></span>
<span class="line"><span style="color:#22863A"> stage</span><span style="color:#24292E">: </span><span style="color:#032F62">test</span></span>
<span class="line"><span style="color:#22863A"> image</span><span style="color:#24292E">: </span><span style="color:#032F62">alpine:latest</span></span>
@@ -181,7 +181,7 @@
<p>
<code>.gitlab-ci.yml</code> で明示的には書いていないので、GitLab Runner (GitLab CI/CD のスクリプトを実行するプログラム) が勝手に追加しているに違いない。 そう仮説を立てて <a href="https://gitlab.com/gitlab-org/gitlab-runner" rel="noreferrer" target="_blank">GitLab Runner のリポジトリ</a> を調査したところ、 <a href="https://gitlab.com/gitlab-org/gitlab-runner/-/blob/c75da0796a0e3048991dccfdf2784e3d931beda4/shells/bash.go#L276" rel="noreferrer" target="_blank">ソースコード中の以下の箇所</a> で <code>set -o pipefail</code> していることが判明した (コメントは筆者による)。
</p>
- <div class="codeblock" language="go">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6A737D">// pipefail オプションが存在しない環境にも対応するため、</span></span>
<span class="line"><span style="color:#6A737D">// 先に set -o でオプション一覧を表示させたあと、set -o pipefail している</span></span>
<span class="line"><span style="color:#24292E">buf.</span><span style="color:#6F42C1">WriteString</span><span style="color:#24292E">(</span><span style="color:#032F62">"if set -o | grep pipefail > /dev/null; then set -o pipefail; fi; set -o errexit</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span><span style="color:#24292E">)</span></span></code></pre>
@@ -192,7 +192,7 @@
<p>
通常の Bash スクリプトを書く場合と同様に、<code>pipefail</code> が on になっていては困る場所だけ off にしてやればよい。
</p>
- <div class="codeblock" language="yaml">
+ <div class="codeblock">
<pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#22863A"> hoge</span><span style="color:#24292E">:</span></span>
<span class="line"><span style="color:#22863A"> stage</span><span style="color:#24292E">: </span><span style="color:#032F62">test</span></span>
<span class="line"><span style="color:#22863A"> image</span><span style="color:#24292E">: </span><span style="color:#032F62">alpine:latest</span></span>