スポンサーリンク

goのプラグインなしでjenkinsでgoを実行する

docker
この記事は約3分で読めます。

はじめに

前の投稿でjenkinsのgoプラグインを使ってgoを実行してみましたが、

これ別にプラグインいらないんじゃ・・・

と思ったので試してみたという内容です。

 

jenkinsのdockerにgoをインストールしてけば良いだけの話。

ディレクトリ構成とファイル

ディレクトリ構成

ubuntu@MyEC2 ~/jenkins % tree -a --charset=C
.
|-- Dockerfile
|-- docker-compose.yaml
`-- work

1 directory, 2 files

Dockerfileだけ増えてます。

 

docker-compose.yaml

version: "3"
services:
  jenkins:
    build: .
    container_name: jenkins
    network_mode: host
    volumes:
      - ./work:/var/jenkins_home
    environment:
      TZ: Asia/Tokyo
    tty: true

Dockerfileを使うのでimageをbuildに変更

 

Dockerfile

FROM jenkins:2.60.3
USER root
WORKDIR /TEST
RUN wget https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz \
    && tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gz
ENV PATH $PATH:/usr/local/go/bin
WORKDIR /
RUN rm -rf /TEST
USER jenkins

jenkinsのimageにgo1.12.1をインストールしています。

 

やり方

前回の「goを動かしてみる」でhello.goを配置したあとの話。

jenkinsでgoのプラグインをインストールしないで「プロジェクト testwork」の設定をビルド→シェルスクリプトを選択して「go run hello.go」として保存します。

あとはビルドするだけです。

 

Started by user admin
Building in workspace /var/jenkins_home/workspace/testwork
[testwork] $ /bin/sh -xe /tmp/jenkins3274436986825013282.sh
+ go run hello.go
Hello World! from golang
Finished: SUCCESS

問題なく実行できてますね。

 

最後に

プラグイン入れるよりdockerで環境整えたほうが早いかも。

スポンサーリンク
dockergolangjenkins
スポンサーリンク
hakenをフォローする
定年まで泣くんじゃない
タイトルとURLをコピーしました