One of the Dev rituals popularized by Scrum is the daily standup (although physically standing up have become distinctly optional in remote teams), a quick meeting where everyone on the team gets together and presents to each other three things: what was done yesterday, what is going to be done today, and what is preventing you from getting your work done.
The purpose of this ceremony is to radiate information throughout the team and to understand the work that is being done and is going to be done. By having team members present this information to each other, we learn about any tasks that are experiencing roadblocks and discover ways to help each other move our work toward completion. Furthermore, by having managers present, we can quickly resolve prioritization and resource conflicts.
at the end of each development interval, we must have integrated, tested, working, and potentially shippable code, demonstrated in a production-like environment, created from trunk using a one-click process, and validated with automated tests.
Docker can containerize everything, from webserver, web app, to database. It is really easy to clean. Although microservices seem to take lots of space and memory -> Help deliver and set up an app between dev using 1 click, making it independent from programming language and database selections.
Docker helps not to separate between prod env and dev env. This helps dev stay as close to the prod environment as possible.
Command | Description |
---|---|
ansible all -m ping |
Ping all hosts to test connectivity |
ansible all --list-hosts |
List all hosts in the inventory |
ansible all -m ansible.builtin.gather_facts |
Gather facts (system info) from all hosts |
Default Locations:
/etc/ansible/hosts
/etc/ansible/ansible.cfg
Flag | Meaning | Example |
---|---|---|
-i |
Specify the inventory file | ansible-playbook -i hosts site.yml |
-l |
Limit the playbook to specific hosts | ansible-playbook site.yml -l webservers |
-e |
Pass extra variables | ansible-playbook site.yml -e "version=1.2.3" |
-u |
SSH user to connect as | ansible-playbook site.yml -u ubuntu |
--ask-pass |
Prompt for SSH password | ansible-playbook site.yml --ask-pass |
--ask-become-pass |
Prompt for sudo password | ansible-playbook site.yml --ask-become-pass |
-b |
Become (sudo) on remote machines | ansible-playbook site.yml -b |
-v , -vv , -vvv |
Increase verbosity (more v = more detail) |
ansible-playbook site.yml -vvv |
--check |
Dry-run mode (show what would change) | ansible-playbook site.yml --check |
--diff |
Show differences when files change | ansible-playbook site.yml --diff |
--tags |
Run only specific tagged tasks | ansible-playbook site.yml --tags "install,setup" |
--skip-tags |
Skip specific tagged tasks | ansible-playbook site.yml --skip-tags "tests" |
terraform -chdir=<path> init
terraform -chdir=<path> plan
terraform -chdir=<path> apply
terraform -chdir=<path> destroy
terraform -chdir=<path> output
brew install awscli
aws configure