Miguel Palhas / @naps62
PS: We're hiring!!
git push
<do stuff>
Not everything is a commit
@ Utrust
- Multiple live environments:
- Development
- Staging/QA
- Sandbox/Production
- Development
Deployed ASAP
~weekly
~weekly'ish
git checkout -b release-2020-01-14
git push
deploy
Wait... So only
developers can deploy??
workflows:
deploy:
jobs:
- approval_step
type: approval
- deploy:
requires:
- approval_step
name: Github Action Example
on:
push:
branches:
- master
jobs:
...
Triggers
name: Github Action Example
on:
push:
pull_request:
types: [opened, synchronize]
issue_comment:
types: [created]
jobs:
...
Triggers
name: Github Action Example
jobs:
test:
runs-on: ubuntu-latest
container: node:9.11.2
steps:
- name: Hello
run: echo "Hello World"
Commands
name: Deploy
on: [deployment]
jobs:
test:
steps:
- name: Checkout
run: actions/checkout@v1
with:
ref: ${{ github.event.deployment.ref }}
Reusable Actions
steps:
- name: Trigger Deploy
uses: actions/github-script@0.3.0
with:
script: |
console.log("wow, javascript!")
await github.repos.createDeployment({
# ...
})
github-script
1. Consumes the Github API,
not just `git push`
2. More intuitive flows for our team
3. Powerful reusability
(JS / Docker actions)
Watch:
ChatOps at GitHub - Jesse Newland
RubyFuza 2013
1. Preserves history
2. Live documentation
3. Full transparency
Miguel Palhas / @naps62
Automating your Way to Confidence
By Miguel Palhas
Automating your Way to Confidence
- 289