LoginSignup
0
0

More than 1 year has passed since last update.

GitのローカルリポジトリとローカルのJenkinsの連携

Posted at

概要

色々な事情でリポジトリの設定をいじることができない時に
Gitのpost-commitを使いローカルのJenkinsで自動テストする方法。

ローカルでJenkinsを起動する

Dockerを使うと楽に構築できる。
Jenkinsの設定方法など一般的なことに関しては別のページ参照。

ローカル用Jenkinsのdocker-compose

ポイントは2つ。

  • ローカルのGitフォルダからcloneを許可するために、JAVA_OPTSを設定すること
  • ローカルファイルを見えるようにするためvolumesでマウントすること
     ここでは/local/gitrepo/にあると仮定してコンテナの/home/repoにマウントしている。
docker-compose.yml
version: "3"
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins:latest
    environment:
      JAVA_OPTS: -Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true
    ports:
      - 8888:8080
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /local/gitrepo/:/home/repo

Jenkinsの設定

  • リポジトリのURLにはパスを書けばOK
  • 認証トークンを設定しておく

Screenshot_1245.png

Screenshot_1246.png

post-commitに仕込む

  • ポート番号はdocker-composeで設定したもの
  • token=の後ろは上記で設定した認証トークン
#!/bin/sh

wget -O - http://localhost:8888/job/Test/build?token=abcde

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0