「みんなの翻訳」は、世界中の文書をみんなで協力して翻訳するサイトです。

みんなの翻訳ロゴ
ブクタブ
翻訳サイト

カテゴリ一覧

このサイトについて 新規登録はこちら お試し翻訳

一覧

2017/07/28

メンテナンス終了のお知らせ

2017/7/25-2017/7/28に実施したメンテナンスは、2017/7/28/14:20に終了いたしました。 ご協力をいただき、ありが…

List

Hnoss

English⇒Japanese

ajhjhaf

English⇒Japanese

shikimi

English⇒Japanese

hanako

English⇒Japanese

ホーム > 翻訳記事

翻訳記事

【GitLab 公式 を訳してみた】Shellエクゼキュータ

GitLab Runner>エクゼキュータ>Shell 

  シェルは、ランナーがインストールされたマシン(ローカル環境)でビルドする時に使うものの中では、簡潔な部類に入ります。
 ランナーがどのようなマシンにインストールされていようと、確実に使えるエクゼキュータです。

 このエクゼキュータを選択すると、Bash、Windows PowerShell、並びにWindows Batchで作成されたスクリプトをビルドに利用することが可能になります。

 

  概要

  スクリプト自体は、特権を持たないユーザーでも「--user」パラメータを追加することでgitlab-runner runコマンドを扱えるようになることから、比較的容易に動かすことができます。ただし、この機能はBashでのみ対応されています。
 

 プロジェクトのソースの確認方法:<working-directory>/builds/<short-token>/<concurrent-id>/<名前空間>/<プロジェクト名>

 プロジェクトのキャッシュの収容場所:<working-directory>/cache/<名前空間>/<プロジェクト名>

 場所について:

  • <working-directory>(作業ディレクトリ)は、gitlab-runner runコマンドや、ランナーが動作しているカレントディレクトリでは、「--working-directory」という因数として処理される
  • <short-token>は、ランナーのトークン名(デフォルトでは8単語)を短くしたもの。
  • <concurrent-id>は、プロジェクトで使われている専用のランナーが、ローカルjobIDを識別するのに使っている固有番号のこと。
  • <名前空間>は、GitLabプロジェクトを収容している場所を示した名前空間。
  • <プロジェクト名>は、GitLabに収容されているプロジェクトの名前。
 「<working-directory>/builds」と「<working-directory/cache」はそれぞれ、config.toml[[runners]] セクションで、「builds_dir」「cache_dir」というオプションを追加すると具体的な指定ができる。

 

 

  非特権ユーザーがランナーを動かす場合

  GitLab RunnerをLinuxにインストールする場合、まずは公式の「.deb 」あるいは「.rpm」パッケージを入手するものと思われます。その際にインストーラーが「gitlab_ci_multi_runner」を発見できれば、極力それを使うように設定されているはずです。
 それが見つからなかった場合は、代わりに「gitlab-runner user」を作成していただくとよろしいでしょう。
 

  シェルでのビルドは「gitlab-runner」でも「gitlab_ci_multi_runner」ユーザーでも実行されるはずです。

  ただし、Docker EngineやVirtualBoxを利用したテストなどでは、たびたび特権が必要なリソースにアクセスする必要が出る可能性があります。
 その際には、「gitlab-runner」ユーザーを的確なグループに追加してください。

======================
usermod -aG docker gitlab-runner

usermod -aG vboxusers gitlab-runner
======================

 

  セキュリティの問題

  シェルを用いてテストを実施することは、おおむね危険を伴います。jobの実行にユーザーの特権(gitlab-runner)が必要な場合が多く、これは同じサーバーに置かれている他のプロジェクトからコードを"盗まれる"隙になりうるものです。

  シェル・エクゼキュータは、皆さんが管理・所有していて、信頼のおけるサーバーのみで取り扱うようにしましょう。

 Edit this page

 

 
PDF
更新日:2017-12-26 23:06:35 Hnoss 0  del.icio.usに追加   はてなブックマークに追加   twitterに投稿   facebookでshare
[ 原文 ] https://docs.gitlab.com/runner/executors/shell.html 原文ページプロジェクト並びにドキュメントファイルは、MIT Licenseのもと公開されています。(URL:https://gitlab.com/gitlab-com/gitlab-docs/blob/master/LICENSE) この記事の文章は、訳者の判断によりCreative Commons BY (version 3.0) を適用するものとします。
翻訳者ページをみる

この記事の翻訳者

Hnoss さんの翻訳記事

「 .gitlab-ci.yml 設定メニュー」より抜粋『pages』

  pages  pagesは、GitLabで静的サイトを公開するときに使います。  少し変わったシンタックスで、次の2つの条件を守って設定する必要があります。 静的コンテンツはすべて「p…2018-01-24 17:23:37

【GitLab 公式 を訳してみた】GitLab CI/CDで使える変数

GitLab Documentation > GitLab Continuous Integration (GitLab CI) >GitLab CI/CDで使えるAPI変数  GitLab ランナーは、CIから送られてきたjobをもとに、ビルド環境を整えます。…2018-01-23 23:23:48

【GitLab 公式 を訳してみた】ランナーを登録する

GitLab Runner > ランナーを登録する  「ランナーの登録」とは、GitLabで実際に使っていくランナーをまとめあげる工程を指します。 目次 > 前提条件 > GN…2018-01-23 23:12:24

Configuring GitLab Runnersより抜粋『特定のランナーのトークンを取得する』『タグを使う』『タグが付いていないjobのみを実行する』

  特定のランナーのトークンを取得する  GitLabのインスタンスから、権限の認証を通過せずに、特定ランナーのトークンを作成するには、 プロジェクトの「 Settings ➔ CI/CD 」に移…2018-01-23 22:50:30