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
バグを見つけた?それAppleに直してもらおう!
uetyo
0
210
Compose UIテストを使った統合テスト
hiroaki404
0
120
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
670
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
290
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
220
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
月刊 競技プログラミングをお仕事に役立てるには
terryu16
1
1k
サーバーゆる勉強会 DBMS の仕組み編
kj455
0
170
Flatt Security XSS Challenge 解答・解説
flatt_security
0
580
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
110
KubeCon NA 2024の全DB関連セッションを紹介
nnaka2992
0
110
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
330
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Docker and Python
trallard
43
3.2k
Why Our Code Smells
bkeepers
PRO
335
57k
BBQ
matthewcrist
85
9.4k
4 Signs Your Business is Dying
shpigford
182
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Writing Fast Ruby
sferik
628
61k
How GitHub (no longer) Works
holman
312
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
550
Into the Great Unknown - MozCon
thekraken
34
1.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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