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
subpath importsで始めるモック生活
10tera
0
350
PipeCDの歩き方
kuro_kurorrr
3
120
Functional Event Sourcing using Sekiban
tomohisa
0
120
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
140
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.9k
CSC509 Lecture 11
javiergs
PRO
0
180
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
1k
WebAssembly Unleashed: Powering Server-Side Applications
chrisft25
0
1.5k
Missing parts when designing and implementing Android UI
ericksli
0
320
Remix on Hono on Cloudflare Workers
yusukebe
1
340
Contemporary Test Cases
maaretp
0
140
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
RailsConf 2023
tenderlove
29
910
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Side Projects
sachag
452
42k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
Code Review Best Practice
trishagee
64
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Producing Creativity
orderedlist
PRO
341
39k
The World Runs on Bad Software
bkeepers
PRO
65
11k
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