Organizations

3 results for CI
  • 先日、GitHub Actionsが使えるようになったので検証を少ししてみた。※こちらの記事を参照 前回は少し触っただけだったので、以前にCircleCIでやったAnsible-Lintの簡単なチェックをGitHubActionsで実装した。 設定するコード リポジトリ直下に .github というディレクトリを作成して下記2つのファイルを配置する。 main.workflow workflow "CI Lint workflow" { on = "push" resolves = "AnsibleLint" } action "AnsibleLint" { uses = "docker://particlekit/ansible-lint:latest" runs = "ansible-lint playbook/roles/*/*/*.yml playbook/main.yml -c .github/.ansible-lint" } .ansible-lint parseable: true quiet: false use_default_rules: true skip_list: - ANSIBLE0004 - ANSIBLE0005 - ANSIBLE0006 - ANSIBLE0007 - ANSIBLE0008 - ANSIBLE0009 - ANSIBLE0010 - ANSIBLE0011 - ANSIBLE0012 - ANSIBLE0013 - ANSIBLE0014 - ANSIBLE0015 - ANSIBLE0016 - ANSIBLE0017 verbosity: 1 これだけ。多分3分くらいあればできる。
    CI GitHub Created Sun, 20 Jan 2019 09:05:01 +0000
  • 以前、GitHub Actionsが発表された際にBetaユーザーの登録をしていたら、下記案内メールがGitHubより送られてきた。 パブリックリポジトリでも、リポジトリオーナーからのpushで実行されるeventがサポートされたらしい。 CIとしてはCircleCIを使ったことがあり、今後GitHubActionsを使うことで何か良いことがあるのであれば乗り換えも検討したいので少し検証してみることに。 ※ちなみにBeta登録は下記リンクから登録可能。 https://github.com/features/actions/ まずはじめに どこから実行するのかな〜と思ってたら、さりげなく「Actions」タブが表示されるようになっていた。 ポイントとしては、workflowとactionというのを覚える必要がありそう。 workflowが大きな枠組みで、workflowの中に実際に実行するactionをいれて組み合わせていく。 ここにアクセスすると、過去に試しに置いておいたファイルがworkflowとして認識されていた。 また create a new workflow というボタンからGUIベースでもworkflowを作成することができるようだった。 ファイルは .github/main.workflow というのが最初に呼ばれる様子。 とりあえず何かしら動かそうと思い探してみると、どうやらGitHub公式のDockerレジストリが下記にある様子。 https://github.com/actions 上記にあるリポジトリを探しつつ、awsを使ってみることに。 下記のように記述する。 workflow "Test workflow" { on = "push" resolves = "HelloWorld" } action "HelloWorld" { uses = "actions/aws/cli@8d31870" runs = [ "printf", "HelloWorld" ] } workflowを定義して、そこにactionを追加していく。 GitHubへpushすると下記のように実行結果が表示された。 Logをクリックすることで、実行結果も確認できる。 ### STARTED HelloWorld 11:35:59Z Already have image (with digest): gcr.io/cloud-builders/docker Already have image (with digest): gcr.
    CI GitHub Created Thu, 20 Dec 2018 12:58:43 +0000
  • 概要 Ansibleのplaybookに対してlintをかけたり、Serverspecとかを実行したくなったので、色々調べた結果、会社でCircleCIを使っていることがわかった。 そこでCircleCIで、インフラCIしていきたいなと思ったので、その辺のセットアップメモ。 なお、コンテナ単位で課金されるようで、1コンテナまで無料で利用できる。 個人でお遊びレベルのプロジェクトなら1コンテナで十分だと思う。 リポジトリ数には制限が無いようで、同時にテストを走らせたいような大きめのリポジトリになってきたら追加1コンテナあたり$50/monthで追加できるらしい。 まずは無料範囲で進めてみる。 CircleCIとの連携 まず、CircleCIと連携する必要があるので、CircleCIへログインする。その時にGithubと連携させればすぐにリポジトリが表示される。そのまま対象リポジトリの「set up project」を選択する。 今回やりたいのはansible-lintなので、Linux,pythonを選択して、「Start building」を実行しておく。ただし、ここでは特に実行されない。 Start buildingしないと下記のように、セットアップ待ち状態になる。 そうしたら、リポジトリの直下に下記を追加する。 config.ymlはcircleciの設定ファイル。 .ansible-lintはansible-lintの設定ファイル。 requirements.txtはインストールするpythonパッケージ。 ls -la .circleci total 24 drwxr-xr-x 5 inamuu staff 160 6 20 20:03 . drwxr-xr-x 7 inamuu staff 224 6 20 19:57 .. -rw-r--r-- 1 inamuu staff 317 6 20 14:28 .ansible-lint -rw-r--r-- 1 inamuu staff 253 6 20 20:03 config.yml -rw-r--r-- 1 inamuu staff 13 6 20 14:28 requirements.txt .
    Ansible CI Created Wed, 20 Jun 2018 12:24:32 +0000