Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CI no Nubank | Setup de ambientes macOS com Ans...
Search
Pietro Caselani
January 31, 2019
Programming
4
390
CI no Nubank | Setup de ambientes macOS com Ansible
Pietro Caselani
January 31, 2019
Tweet
Share
More Decks by Pietro Caselani
See All by Pietro Caselani
por que construimos um monorepo?
pietrocaselani
2
640
Other Decks in Programming
See All in Programming
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
『品質』という言葉が嫌いな理由
korimu
0
160
Formの複雑さに立ち向かう
bmthd
1
810
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
35
14k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
Domain-Driven Transformation
hschwentner
2
1.9k
CNCF Project の作者が考えている OSS の運営
utam0k
6
710
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
740
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
9
3.4k
CI改善もDatadogとともに
taumu
0
110
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Become a Pro
speakerdeck
PRO
26
5.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
How STYLIGHT went responsive
nonsquared
98
5.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Transcript
CI no Nubank Marcus Fonseca Pietro Caselani
O que é CI?
Pipelines
None
Agents
PRs no Nubank
Pipeline
Setup de ambientes macOS com Ansible Marcus Fonseca Pietro
Caselani
Problemas com setup de agents
Configuração trabalhosa e com passos manuais
Configuração descentralizada
Difícil de reproduzir
Objetivo
Automatizar a configuração de agents
O Docker não suporta macOS MAS…
None
- name: Install brew packages homebrew: name: rbenv,awscli,jq state: present
- name: Install brew packages homebrew: name: rbenv,awscli,jq state: present
- name: Install brew packages homebrew: name: rbenv,awscli,jq state: present
- name: Install brew packages homebrew: name: rbenv,awscli,jq state: present
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
- name: Check if Xcode CLI is installed shell: xcode-select
-p register: xcode_cli ignore_errors: yes - name: Install Xcode CLI script: scripts/install-xcode-cli.sh become: yes when: xcode_cli.rc == 2
ansible-playbook -i $IP_ADDRESS, \ -c ssh \ -u $USER \
--vault-password $VAULT_PASSWORD_PATH \ $PLAYBOOK_PATH
ansible-playbook -i $IP_ADDRESS, \ -c ssh \ -u $USER \
--vault-password $VAULT_PASSWORD_PATH \ $PLAYBOOK_PATH
ansible-playbook -i $IP_ADDRESS, \ -c ssh \ -u $USER \
--vault-password $VAULT_PASSWORD_PATH \ $PLAYBOOK_PATH
ansible-playbook -i $IP_ADDRESS, \ -c ssh \ -u $USER \
--vault-password $VAULT_PASSWORD_PATH \ $PLAYBOOK_PATH
ansible-playbook -i $IP_ADDRESS, \ -c ssh \ -u $USER \
--vault-password $VAULT_PASSWORD_PATH \ $PLAYBOOK_PATH
None
--- - name: Setup Jenkins agent roles: - env_setup -
pip - aws - homebrew_setup - git - xcode_cli - ruby - rome - carthage - icli - xcode - agent_setup - java - jenkins
OS Clone
Resultados • Agents são configurados de forma automática • Infrastructure
as code • Configuramos somente o necessário
Próximos Passos • Melhorar performance dos playbooks • Validar configurações
• Reaproveitar playbooks para setup das máquinas de devs mobile
sou.nu/jobs-at-nubank Obrigado! Marcus Fonseca @marcola |
[email protected]
Pietro Caselani @pietropc
|
[email protected]
sou.nu/ios-beta
None