#author("2022-04-22T10:24:03+00:00","default:admin","admin") -[[CI/CDとは何か?:https://qiita.com/choco_p/items/1bd1b106daee1fbd4449]] -[[CI/CD とは:https://www.redhat.com/ja/topics/devops/what-is-ci-cd]] -[[CI/CDで始める“ニューノーマル”時代のインフラ運用:https://www.mki.co.jp/knowledge/column104.html]] -[[CI 大好きエンジニアによる CI サービス (ツール) の分類・比較と選定方法・学習方法:https://www.kanzennirikaisita.com/posts/ci-services]] -[[GitHub Actions + CircleCI + AWS CodeDeployによるCI/CD環境にインフラを移行した話:https://tech.smartcamp.co.jp/entry/transfer-boxil-infrastructure]] -[[GitHubからAWSにCodePipelineとCodeDeployで資材を配置してみる:https://zenn.dev/ttani/articles/aws-codedeploy]] -[[CI/CD Conference 2021 by CloudNative Days:https://event.cloudnativedays.jp/cicd2021]] --[[CI/CD Conference 2021レポート 記事一覧:https://thinkit.co.jp/series/10302]] --[[CI/CD Conference 2021つまみ食い:https://blog.tkhm.dev/2021/09/cicd-conference-2021.html]] *導入の目的 [#la1b5c2d] -リリースの頻度を上げたい -誰でもデプロイできるようにしたい -ユニットテストを定着させたい *概要 [#l278250a] -[[CI/CDとは?メリット・デメリットからちゃんと理解していく:https://yukimasablog.com/ci-cd]] -[[CI/CDとは【まとめ】:https://tech-blog.rakus.co.jp/entry/20210430/ci]] -[[Oracle Cloud Hangout Cafe - CICD最新事情:https://speakerdeck.com/oracle4engineer/oracle-cloud-hangout-cafe-cicdzui-xin-shi-qing]] **ドキュメントの自動生成 [#hf4bb194] ***Markdown [#zb0f4b7f] -[[Markdown を PDF に変換する CI/CD パイプライン構築:https://qiita.com/takanassyi/items/f933cdadebae7ddf88bc]] -[[オンラインドキュメントへCI/CDを適用している話:https://www.slideshare.net/iwashi86/cicd-86801443]] -[[44種類のフォーマットに対応したPandocでMarkdownをHTML形式に変換する:https://dev.classmethod.jp/articles/pandoc-markdown2html/]] -[[【GithubActions + Marp】markdown記法でプレゼン資料を好きな形式で作成&公開できるようにする:https://zenn.dev/gakin/articles/set_up_marp_on_github_actions]] -[[GitHub Actionを使ってMarkdownで書いた文書をAsciidocを介したHTMLに変換する:https://qiita.com/ossyaritoori/items/5af55fa88f19de90db1e]] -[[GitHub Actionsを使って、MarkdownファイルからPDF(職務経歴書)を生成する:https://kic-yuuki.hatenablog.com/entry/2020/01/25/130303]] **テストの自動化 [#i60ba1d5] -エラーの自動チェック **ビルドの自動化 [#rcad6928] -ビルド結果の判定 **デプロイの自動化 [#zbaa8be4] -ビルドしたファイルをサーバーなどに自動配置 *ツール比較 [#r8e7fbce] -[[CI 大好きエンジニアによる CI サービス (ツール) の分類・比較と選定方法・学習方法:https://www.kanzennirikaisita.com/posts/ci-services]] -[[CircleCI と GitHub Actions のどちらを使うか:https://obel.hatenablog.jp/entry/20211031/1635620400]] -[[CircleCIマン が GitHub Actions を導入するまで:https://zenn.dev/dodonki1223/articles/b26d3689bbb012d9e88c]] *[[GitHub Actions:https://github.co.jp/features/actions]] [#s92c4588] -[[ドキュメント:https://docs.github.com/ja/actions]] -[[GitHub Actionsの支払いについて:https://docs.github.com/ja/billing/managing-billing-for-github-actions/about-billing-for-github-actions#]] -[[JenkinsからGitHub Actionsへの移行:https://docs.github.com/ja/enterprise-server@3.4/actions/migrating-to-github-actions/migrating-from-jenkins-to-github-actions]] -[[Git Hub Actions入門:https://zenn.dev/hashito/articles/7c292f966c0b59]] -[[新 GitHub Actions 入門:https://www.kaizenprogrammer.com/entry/2019/08/18/205010]] -[[Github Actions 2年使ってみてわかったことまとめ:https://qiita.com/bigwheel/items/2ab7deb237122db2fb8d]] -[[Web 開発者のための GitHub Actions 入門:https://fwywd.com/tech/introduction-to-github-actions]] -[[GitHubの新機能「GitHub Actions」で試すCI/CD:https://knowledge.sakura.ad.jp/23478/]] -[[Git Hub Actions入門:https://zenn.dev/hashito/articles/7c292f966c0b59]] -[[GitHub Actionsの手動実行パラメータのUI改善について速報で解説する:https://zenn.dev/kesin11/articles/13ca0f40e1eaa0]] -[[GitHub Actions上で独自のワークフローを構築しやすくするための仕組み:https://tech.pepabo.com/2021/12/25/your-own-workflows-on-github-actions/]] -[[Web 開発者のための GitHub Actions 入門:https://fwywd.com/tech/introduction-to-github-actions]] -[[GitHub Actionsでデプロイを並列に実行させてCI/CDを高速化してみた:https://dev.classmethod.jp/articles/github-actions-parallel-deploy/]] -[[入門 GitHub Actions:https://tech.medpeer.co.jp/entry/2021/06/24/100000]] -[[Github Actionsのご紹介:https://techmagic.co.jp/blog220412/]] -[[GitHub Actionsの共通したアクションを切り出してシンプルに保つ:https://zenn.dev/stafes/articles/ikkitang-a694b8afeb66f5]] -[[[入門]GitHub Actions ~全てのエンジニアのための備忘録~:https://selfnote.work/20220109/programming/begginer-github-actions/]] -[[【入門】Github Actionsとは? 簡単なチュートリアルを用いて解説:https://mo-gu-mo-gu.com/about-basic-github-actions/]] -[[GitHub ActionsでPostman + NewmanのAPIテストを実行してみた:https://dev.classmethod.jp/articles/postman_newman_githubactions/]] -[[GitHub Actionsに導かれし、CircleCI使いの者たちのための導きの書:https://zenn.dev/nus3/articles/44977a5ea4d6cd]] -[[GitHub Actionsに魅了されてしまいました:https://dev.icare.jpn.com/dev_cat/intro_github_actions/]] -[[GitHub Actionsは商用システムのCI/CDツールとして使えるか?!:https://www.ariseanalytics.com/activities/report/20201225/]] **課金体系 [#q36dbe04] -[[GitHub Actionsの支払いについて:https://docs.github.com/ja/billing/managing-billing-for-github-actions/about-billing-for-github-actions#]] -[[GitHub Actions の利用状況の確認と無料枠の上限に達した場合の対処方法:https://blog.beachside.dev/entry/2021/09/27/190000]] **[[build matrix:https://docs.github.com/en/actions/using-jobs/using-a-build-matrix-for-your-jobs]] [#b4660d20] **workflow_dispatch [#q18fb15c] -workflow_dispatch はワークフローのトリガーの一種で、ワークフローを任意に手動で起動することができる -ブラウザ(GitHubのリポジトリのページ)から操作できる -ワークフローを実行するブランチを指定できる -実行時にパラメータを渡すことができる -REST API からでも利用できる ***用途 [#r6cc33f9] -クラウド上(AWS等)の開発環境へのデプロイ --本番環境であれば main ブランチへの push をトリガーにデプロイのジョブを実行すればよい --一方、開発環境は任意の feature ブランチを任意のタイミングでデプロイできると便利 --workflow_dispatch はワークフロー実行時にブランチを選択できるため、好きなブランチを好きなタイミングでデプロイするということが容易に実現できる -ワークフロー自体のデバッグの用途 --schedule トリガー(cron)のワークフローのjobの動作確認をするために、わざわざ設定した時間になるのを待って確認するのは手間 --そういう場合に、workflow_dispatch トリガーも設定することで、任意にワークフローを走らせることが可能 **移行事例 [#r6886292] -[[Terraform の CI を AWS CodeBuild から GitHub Actions + tfaction に移行しました:https://blog.studysapuri.jp/entry/2022/02/04/080000]] -[[GitHub ActionsでRuby on RailsのCI環境を構築する上でのポイント:https://tech.hey.jp/entry/2021/05/21/134001]] -[[CircleCIで構築されたCI/CD環境をGitHub Actionsに移行した際のポイント:https://tech.buysell-technologies.com/entry/adventcalendar2021-12-05]] -[[CI/CD ConferenceからサイバーエージェントのCI/CDツール開発のセッションを紹介:https://thinkit.co.jp/article/18874]] -[[リーン開発を実現するため、「みらい翻訳」が取り組む、マイクロサービス化とデプロイ改善【デブサミ2022】:https://codezine.jp/article/detail/15701]] **PHP [#x62fe427] -[[【PHP版】CI(継続的インテグレーション)ツール導入ガイド:第1回 CIの概要:https://tracpath.com/bootcamp/ci/php_tutorial_1.html]] -[[【PHP版】CI(継続的インテグレーション)ツール導入ガイド:第2回 さまざまなジョブ:https://tracpath.com/bootcamp/ci/php_tutorial_2.html]] -[[【PHP版】CI(継続的インテグレーション)ツール導入ガイド:第3回 さまざまなジョブ(1):https://tracpath.com/bootcamp/ci/php_tutorial_3.html]] -[[【PHP版】CI(継続的インテグレーション)ツール導入ガイド:第4回 さまざまなジョブ (2):https://tracpath.com/bootcamp/ci/php_tutorial_4.html]] -[[GitHub ActionsでLaravelプロジェクトのCI・CD環境を構築する:https://maasaablog.com/development/git/github/github-actions/2054/]] -[[GitHub Actionsで超基本的なCI環境を構築する(PHP):https://maasaablog.com/development/git/github/github-actions/1725/]] -[[GitHub Actionsで超基本的なCD環境を構築する(PHP):https://maasaablog.com/development/git/github/github-actions/1733/]] -[[GitHub Actions で PHP の CI/CD をする:https://qiita.com/nanasess/items/09b0798eb878328b195f]] -[[【GitHub Actions】LaravelのCI環境を作ってみた:https://note.com/deliku0306/n/n2eeaa8a08187]] -[[GitHub ActionsでLaravelプロジェクトをデプロイする:https://cloudpack.media/56486]] -[[GitHub ActionsでLaravelプロジェクトをCI/CDする:https://zenn.dev/tokku5552/articles/laravel-github-actions]] -[[GitHub ActionsでLaravelのテストを実行する際にRedisと接続する方法【PHPUnit】:https://www.engilaboo.com/github-actions-connect-redis/]] -[[【Laravel + PHPUnit】Unit・Featureテストを実装してGitHubActionsでCI/CD環境を構築する話:https://zenn.dev/naonao70/articles/7be1dba7b7f758]] -[[そこそこ巨大な Laravel の Unit test を Github Actions で出来るだけ早く回すためにやっていること:https://fortee.jp/phperkaigi-2022/proposal/17039ab7-76ed-451a-98fb-36e89a779f40]] -[[GitHub Actions をローカルマシンで実行する(PHP 編):https://zenn.dev/shogogg/articles/ea9b3c49560782251c6d]] ***[[octcov:https://github.com/k1LoW/octocov]] [#qf20c3b9] -[[GitHub Actions Deep Dive using PHP:https://speakerdeck.com/k1low/phperkaigi-2022]] ***[[cs2pr:https://github.com/staabm/annotate-pull-request-from-checkstyle]] [#c25761b9] -[[GitHub Actions使っていますか?では、cs2prも一緒にいかがですか?:https://fortee.jp/phperkaigi-2022/proposal/0ced67d5-5b91-476c-8afb-6135ebdb9b38]] **.NET [#c7c9e07d] -[[GitHub Actions を使用して .NET Web アプリをビルドする:https://docs.microsoft.com/ja-jp/dotnet/architecture/devops-for-aspnet-developers/actions-build]] *[[CircleCI:https://circleci.com/ja/]] [#t9303b7c] -[[CircleCI、CI/CD 業界の常識を塗り替えるインテリジェンスとカスタマイズ性を備えた無料プランを発表:https://www.toonippo.co.jp/articles/-/844321]] -[[CircleCIが無料枠を大幅拡大。1カ月あたり6000分のビルド時間、ユーザー数無制限、最大30件までのジョブ同時実行など:https://www.publickey1.jp/blog/22/circleci1600030.html]] -[[CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか?:https://codezine.jp/article/detail/11083]] -[[CircleCIで始めるCI/CD導入の基本のキ:https://codezine.jp/article/detail/11208]] -[[モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理:https://codezine.jp/article/detail/11306]] -[[【CircleCI】使い方と注意点:https://koheinishino.com/how-to-use-circleci]] -[[CircleCIで出来るコト:https://qiita.com/noboru_i/items/7d300eb63ae667bf8dc2]] -[[Github Actions からの移行:https://circleci.com/docs/ja/2.0/migrating-from-github/]] **ワークフロー [#bd524723] -[[モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理:https://codezine.jp/article/detail/11306]] **コード解析 [#t59a01b5] -[[CircleCI で checkstyle と FindBugs によるコード解析を実行し、その結果を Github にコメントする方法:https://qiita.com/kmotoki/items/fbc3efc504d89c8e470a]] -[[CircleCIで勝手に強くなる静的解析の作り方:https://blog.cybozu.io/entry/2020/07/08/080000]] **AWS [#d8ee8743] -[[CircleCI with AWS:https://aws.amazon.com/jp/featured-partners-jp/CircleCI/]] -[[【技術解説】AWSでビルド・デプロイできるCircleCIとは?|CI/CDサービスの概要から実装方法を解説:https://wakka-inc.com/blog/996/]] *AWS [#e828843d] -[[【AWS】DevOps(CI/CD)の導入手順(CodePipeline、CodeCommit、CodeBuild、CodeDeploy):https://go-journey.club/archives/15726]] **[[AWS CodeDeploy:https://aws.amazon.com/jp/codedeploy/]] [#y7273213] -[[CodeDeployって何ですか:https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/welcome.html]] -[[CodeDeployを使ってアプリケーションをEC2インスタンスへデプロイする:https://qiita.com/kooohei/items/5c28aa56f961ac300e2c]] **[[AWS CodePipeline:https://aws.amazon.com/jp/codepipeline/]] [#e8daedee] -[[AWS CodePipeline とは。:https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/welcome.html]] **移行事例 [#gd50529d] -[[Terraform の CI/CD を CodeBuild に移行した話:https://blog.studysapuri.jp/entry/2020/12/03/080000]] *Bitrise [#zd2d0f0a] -[[モバイルアプリ開発のCI/CDにBitriseを採用した理由:https://tech.stmn.co.jp/entry/2020/03/31/110000]] *[[Codemagic:https://codemagic.io/start/]] [#p5096105] -[[Codemagic vs CircleCI: 徹底比較:https://blog.codemagic.io/circleci-vs-codemagic-japanese/]] *[[Dagger:https://dagger.io/]] [#i8234cfd] -[[Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に:https://www.publickey1.jp/blog/22/dockerdaggergithubcircleci.html]] --[[Twiter上のコメント:https://ceron.jp/url/www.publickey1.jp/blog/22/dockerdaggergithubcircleci.html]] -[[Dagger 入門:https://zenn.dev/shunsuke_suzuki/scraps/5c1b8d404c35d6]] -[[話題の CI/CD ツール Dagger を体験してみる:https://developer.mamezou-tech.com/blogs/2022/04/21/try-running-dagger/]]