Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CircleCI and GitLab CI CD

tnir
January 30, 2019

CircleCI and GitLab CI CD

(v0.90) CircleCI and GitLab CI/CD -GitLab開発者から見たCircleCI-

@tnir - 2019-01-30 - CircleCI User Community Meetup #1

tnir

January 30, 2019
Tweet

More Decks by tnir

Other Decks in Technology

Transcript

  1. CircleCI and GitLab CI/CD @tnir - 2019-01-30 - CircleCI User

    Community Meetup #1 @DeNA HQ GitLab開発者から見たCircleCI
  2. Agenda • Overview of CI • Introduction to GitLab CI/CD

    • Overview of CD • CircleCI Orbs • Continuous Delivery/Deployment
  3. tnir • Core Team, GitLab • Cloud Native Ambassador, CNCF

    • Co-organizer, Docker Tokyo • Co-organizer, GitLab Tokyo • OSS contributors of ◦ kubernetes/website, kubernetes-docs-ja ◦ Django / django-ja ◦ pandas, etc. • ex-Wercker/Magnum CI user, CircleCI beginner
  4. 2019年のDevOpsを 支えるCI/CD動向 Forrester Wave: CI Tools Q3 2017 AWS Developer

    Tools Azure DevOps GitHub Actions GitLab Auto DevOps GitLab Serverless https://gihyo.jp/dev/column/newyear/2019/devops
  5. What VCS/SCM are you using? • Bitbucket → Bitbucket Pipelines

    (CircleCI?) • GitLab (.com / self-hosting) → GitLab CI/CD • GitHub (.com) → 戦国時代Ph.2 (←今日はここ) ◦ CircleCI ◦ Travis CI ◦ GitLab CI/CD for GitHub ◦ Azure DevOps (Azure Pipelines) ◦ AppVeyor ◦ CodeShip ◦ Wercker (Oracle) ◦ Bitrise ◦ AWS Code series ◦ Jenkins ◦ etc...
  6. Which CI/CD should we use? • 以前使っていたから • (日本語)情報が多いから •

    知り合いが使っているから • 雰囲気に流されて・・・
  7. GitLab Auto DevOps • YAMLフリーなCI/CDパイプライン。`.gitlab-ci.yml`コミットな しで全部設定可能。 • 環境変数のみで設定変更 https://docs.gitlab.com/ee/topics/autodevops/#environment-variables •

    Kubernetes、Helm chartsエコシステムに乗っかかる。 ◦ 使える資産が多い。 • KubernetesへのSecretsを渡せる。 ◦ アプリケーションエンジニアでも安心。
  8. GitLab CI/CD runs for any SCMs • GitLab CI/CDはどのSCMでも動く •

    GitLabのミラーリング+GitLab CI/CD ◦ Mirror: GitHub (SCM) → GitLab (SCM) ◦ CI/CD: GitLabのGitからPipeline実行 • GitLab CI/CD for GitHub (public) 使用中 • GitLab CI/CD for GitHub (private) 試用中 (1mo) ◦ たまにPipelineがトリガーされない気もする(直します)
  9. My current YAML .gitlab-ci.yml (2 lines, 136 bytes) include: -

    remote: 'https://gitlab.com/tnir/gitlab-ce/raw/hello -hello-circleci/lib/gitlab/ci/templates/Auto -DevOps.gitlab-ci.yml'
  10. CircleCI/GitLabはCD/RA弱い? • by Forrester Wave: Continuous Delivery And Release Automation

    Q4 2018 • CircleCIもGitLabも、Strategy低め、current offeringも低 め。 ◦ GitLab (contender): cloud native&Kubernetes連携を優先して整備 されてきた。レガシー領域( TerraformとかAnsibleとか)とドキュメン テーションが弱い。GV (Alphabet) 出資。ユニコーン。 ◦ CircleCI (challenger): “nonopinionated” approach。ユーザがたくさん スクリプトを書く形で頑張る。専任ビルドマネージャーの出番。 ”SRE” みたいな人を置いて時間をかけてやる。 https://electric-cloud.com/resources/whitepapers/forrester-wave-continuous-delivery-release-automation/
  11. What I love in CircleCI • Web UI ◦ Step

    folding • Notifications • Cache (image) ←超重要
  12. 今後の展望 • CircleCI/GitLab CI/CDどちらも充実してきた (pipeline/workflow、コンテナネイティブ環境) • 一方マーケットとしてGitHub Actions、Azure DevOpsが頭 角を示してきた

    • CircleCI/GitLab CI/CDのCDの充実に期待! • ドキュメンテーションの追随に期待!! ◦ CIは一度設定してあとは楽したい • (今日のイベントはUser Community主催らしいので)両者 のCommunity Marketing頑張っていきましょう!
  13. 参考 • CircleCI https://circleci.com/ • GitLab https://about.gitlab.com/ • Orbs https://circleci.com/orbs/

    • CIマニアから見た各種CIツールの使い所 https://sue445.hatenablog.com/entry/2018/12/07/114638 • コテコテのGitLabユーザがCircleCIに入門してみた https://jumpyoshim.hatenablog.com/entry/getting-started-circleci-by-gitlab-user • Bitbucket Pipelines https://bitbucket.org/product/features/pipelines