[Go言語に入門しよう] 開発環境構築からDockerイメージをGithub Actionsでプッシュするところまで

公開:2020/11/23
更新:2020/12/05
1 min読了の目安(約1200字TECH技術記事

はじめに

Go言語に入門したWeb系エンジニアの@Yuuki557Lです。

Web系のGo言語界隈ではおそらく、CIパイプラインやDockerを使った開発が多そうなので、そのあたりの導入しておくべき内容の手順書を書いてみました。

これからGo言語を始める方は、下の3つのパターンに従って参考にしてみてください。

開発環境の構築をしたい方

  1. 開発環境を構築する

開発環境の構築とDockerイメージの作成をしたい方

  1. 開発環境を構築する
  2. Dockerイメージを作成

Github ActionsでCIパイプラインも含めて導入したい方

  1. 開発環境を構築する
  2. Dockerイメージを作成
  3. CIパイプライン(Github Actions)

開発環境を構築する

https://qiita.com/Yuuki557/items/cfe83037026e4f1e09d5

上の記事では、MacのVSCodeでの開発環境について書いています。
2020/11/23時点で、Goの公式が推奨しているツールを設定しています。
要点

  • リリース頻度の早いgo自体のバージョン管理 -> gvmを使う
  • go言語での実装時の文法ミス通知やfotmatなどのサポート -> goplsを使う
  • 依存する外部packageの管理 -> go modulesの設定

Dockerイメージを作成する

https://qiita.com/Yuuki557/items/3d088de91ab86bc71600

上の記事では、本番環境で動かせるDockerイメージ用のDockerファイルを作成します。

要点

  • 軽量でセキュアなscratchイメージ上で動く
  • go modulesに従って依存パッケージをインストールする

CIパイプライン(Github Actions)

https://qiita.com/Yuuki557/items/c43c8ae060b0111fcaaa

上の記事では、CIの代表的な要素として、テストとDockerイメージのビルドとプッシュまでを行っています。プッシュ先はDockerレジストリを設定しているので、必要に応じてお使いのレジストリの設定に変えてもらえればと思います。

要点
パイプライン内で以下を行います

  • testを実行する
  • testが通った後に、Dockerイメージのビルドを始める
  • ビルドが成功するとレジストリにDockerイメージをプッシュする

おわりに

良いGo言語ライフを!