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

CircleCI and GitLab CI CD

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for tnir 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

Avatar for tnir

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