ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となります: このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-08-20. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

記事のバージョン: Enterprise Server 2.18

Creating a pre-receive hook environment

To execute pre-receive hooks, use either the default pre-receive environment, or create a custom environment.

ここには以下の内容があります:

A pre-receive environment for GitHub Enterprise Server is a Linux chroot environment. Because pre-receive hooks execute on every push event, they should be fast and lightweight. The environment needed for such checks will typically be minimal.

GitHub Enterprise Server provides a default environment which includes these packages: awk, bash, coreutils, curl, find, gnupg, grep, jq, sed.

If you have a specific requirement that isn't met by this environment, such as support for a particular language, you can create and upload your own 64-bit Linux chroot environment.

Creating a pre-receive hook environment using Docker

You can use a Linux container management tool to build a pre-receive hook environment. This example uses Alpine Linux and Docker.

  1. ローカルにDockerがインストールされていることを確認してください。

  2. Create the file Dockerfile.alpine-3.3 that contains this information:

    FROM gliderlabs/alpine:3.3
    RUN apk add --no-cache git bash
    
  3. From the working directory that contains Dockerfile.alpine-3.3, build an image:

    $ docker build -f Dockerfile.alpine-3.3 -t pre-receive.alpine-3.3 .
    > Sending build context to Docker daemon 12.29 kB
    > Step 1 : FROM gliderlabs/alpine:3.3
    >  ---> 8944964f99f4
    > Step 2 : RUN apk add --no-cache git bash
    >  ---> Using cache
    >  ---> 0250ab3be9c5
    > Successfully built 0250ab3be9c5
  4. Create a container:

    $ docker create --name pre-receive.alpine-3.3 pre-receive.alpine-3.3 /bin/true
  5. Export the Docker container to a gzip compressed tar file:

    $ docker export pre-receive.alpine-3.3 | gzip > alpine-3.3.tar.gz

    This file alpine-3.3.tar.gz is ready to be uploaded to the GitHub Enterprise Server appliance.

Creating a pre-receive hook environment using chroot

  1. Create a Linux chroot environment.

  2. Create a gzip compressed tar file of the chroot directory.

    $ cd /path/to/chroot
    $ tar -czf /path/to/pre-receive-environment.tar.gz .

    Notes:

    • Do not include leading directory paths of files within the tar archive, such as /path/to/chroot.
    • /bin/sh must exist and be executable, as the entry point into the chroot environment.
    • Unlike traditional chroots, the dev directory is not required by the chroot environment for pre-receive hooks.

For more information about creating a chroot environment see "Chroot" from the Debian Wiki, "BasicChroot" from the Ubuntu Community Help Wiki, or "Installing Alpine Linux in a chroot" from the Alpine Linux Wiki.

Uploading a pre-receive hook environment on GitHub Enterprise Server

  1. 任意のページの右上で をクリックします。
    サイトアドミン設定にアクセスするための宇宙船のアイコン
  2. 左のサイドバーでEnterpriseをクリックしてください。
    サイトアドミン設定のEnterpriseタブ
  3. Enterpriseアカウントのサイドバーで、 Settings(設定)をクリックしてください。
    Enterpriseアカウントサイドバー内の設定タブ
  4. " Setteings(設定)"の下で、Hooks(フック)をクリックしてください。
    Enterpriseアカウント設定サイドバー内のフックタブ
  5. Click Manage environments.
    Manage Environments
  6. Click Add environment.
    Add Environment
  7. Enter the desired name in the Environment name field.
    Environment name
  8. Enter the URL of the *.tar.gz file that contains your environment.
    Upload environment from a URL
  9. Click Add environment.
    Add environment button

Uploading a pre-receive hook environment via the administrative shell

  1. Upload a readable *.tar.gz file that contains your environment to a web host and copy the URL or transfer the file to the GitHub Enterprise Server appliance via scp. When using scp, you may need to adjust the *.tar.gz file permissions so that the file is world readable.

  2. Connect to the administrative shell.

  3. Use the ghe-hook-env-create command and type the name you want for the environment as the first argument and the full local path or URL of a *.tar.gz file that contains your environment as the second argument.

    admin@ghe-host:~$ ghe-hook-env-create AlpineTestEnv /home/admin/alpine-3.3.tar.gz
    > Pre-receive hook environment 'AlpineTestEnv' (2) has been created.

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください