This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Actions Workflow setup completed | |
name: ππ Basic π¨βπ»Dev - Secπͺ² Opsπ Workflow ππ | |
on: | |
workflow_run: | |
workflows: [Pre Work] | |
types: | |
- completed | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: β Build Workflow | |
run: echo "β Dummy Step, compile, package, create container for application and ..." | |
test: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: β Checkout | |
uses: actions/checkout@v2 | |
- name: β SAST | |
run: | | |
env | grep -E "GITHUB_ACTIONS|GITHUB_RUN_NUMBER|GITHUB_REF_NAME|GITHUB_SHA" > /tmp/env | |
docker pull registry.fortidevsec.forticloud.com/fdevsec_sast:latest | |
docker run --rm --env-file /tmp/env --mount type=bind,source=$PWD,target=/scan registry.fortidevsec.forticloud.com/fdevsec_sast:latest | |
deploy: | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: β Azure Login | |
uses: azure/login@v1 | |
with: | |
creds: '{"clientId":"${{ secrets.CLIENT_ID }}","clientSecret":"${{ secrets.CLIENT_SECRET }}","subscriptionId":"${{ secrets.SUBSCRIPTION_ID }}","tenantId":"${{ secrets.TENANT_ID }}"}' | |
- name: β Deploy the App | |
uses: Azure/[email protected] | |
with: | |
azcliversion: 2.30.0 | |
inlineScript: | | |
az group create -n ${{ vars.AZ_ACI_DNS_PREFIX }}-rg -l eastus | |
az container create --name ${{ vars.AZ_ACI_DNS_PREFIX }} --dns-name-label ${{ vars.AZ_ACI_DNS_PREFIX }} --image ${{ vars.IMAGE_NAME }} -g ${{ vars.AZ_ACI_DNS_PREFIX }}-rg --registry-username ${{ secrets.ACR_USERNAME }} --registry-password ${{ secrets.ACR_USERPASSWORD }} | |
dast: | |
runs-on: ubuntu-latest | |
needs: deploy | |
steps: | |
- name: β Checkout | |
uses: actions/checkout@v2 | |
- name: β DAST | |
run: | | |
env | grep -E "GITHUB_ACTIONS|GITHUB_RUN_NUMBER|GITHUB_REF_NAME|GITHUB_SHA" > /tmp/env | |
docker pull registry.fortidevsec.forticloud.com/fdevsec_dast:latest | |
docker run --rm --env-file /tmp/env --mount type=bind,source=$PWD,target=/scan registry.fortidevsec.forticloud.com/fdevsec_dast:latest | |
clean-up-az: | |
runs-on: ubuntu-latest | |
needs: dast | |
steps: | |
- name: β Azure Login | |
uses: azure/login@v1 | |
with: | |
creds: '{"clientId":"${{ secrets.CLIENT_ID }}","clientSecret":"${{ secrets.CLIENT_SECRET }}","subscriptionId":"${{ secrets.SUBSCRIPTION_ID }}","tenantId":"${{ secrets.TENANT_ID }}"}' | |
- name: β Clean Up Azure Container Instances App | |
uses: Azure/[email protected] | |
with: | |
azcliversion: 2.30.0 | |
inlineScript: | | |
az group delete -n ${{ vars.AZ_ACI_DNS_PREFIX }}-rg -y | |