|
61 | 61 | if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request' |
62 | 62 | uses: docker/build-push-action@v6 |
63 | 63 | with: |
64 | | - tags: ${{ vars.DEVCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.DEVCONTAINER_REGISTRY }}/try:latest |
| 64 | + tags: ${{ vars.DEVCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.DEVCONTAINER_REGISTRY }}/try:latest,${{ vars.PRODCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.PRODCONTAINER_REGISTRY }}/try:latest |
65 | 65 | file: ./Dockerfile |
66 | 66 | context: . |
67 | 67 | outputs: type=docker,dest=${{ github.workspace }}/tryimage.tar |
@@ -129,7 +129,69 @@ jobs: |
129 | 129 | inlineScript: | |
130 | 130 | az config set extension.use_dynamic_install=yes_without_prompt |
131 | 131 | az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $REGISTRY_URL/try:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $REGISTRY_URL --ingress external --registry-username $ACR_USERNAME --registry-password $ACR_PASSWORD --target-port 80 --debug |
132 | | - |
| 132 | +
|
| 133 | + - name: Logout of Azure CLI |
| 134 | + if: always() |
| 135 | + uses: azure/CLI@v2 |
| 136 | + with: |
| 137 | + inlineScript: | |
| 138 | + az logout |
| 139 | + az cache purge |
| 140 | + az account clear |
| 141 | +
|
| 142 | + deploy-production: |
| 143 | + if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request' |
| 144 | + runs-on: ubuntu-latest |
| 145 | + needs: deploy-development |
| 146 | + environment: |
| 147 | + name: "Production" |
| 148 | + permissions: |
| 149 | + id-token: write |
| 150 | + contents: read |
| 151 | + |
| 152 | + steps: |
| 153 | + - name: Azure Login |
| 154 | + uses: azure/login@v2 |
| 155 | + with: |
| 156 | + client-id: ${{ secrets.ESSENTIALCSHARP_CLIENT_ID }} |
| 157 | + tenant-id: ${{ secrets.ESSENTIALCSHARP_TENANT_ID }} |
| 158 | + subscription-id: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }} |
| 159 | + |
| 160 | + - name: Download artifact |
| 161 | + uses: actions/download-artifact@v7 |
| 162 | + with: |
| 163 | + name: tryimage |
| 164 | + path: ${{ github.workspace }} |
| 165 | + |
| 166 | + - name: Load image |
| 167 | + run: | |
| 168 | + docker load --input ${{ github.workspace }}/tryimage.tar |
| 169 | + docker image ls -a |
| 170 | +
|
| 171 | + - name: Log in to container registry |
| 172 | + uses: docker/login-action@v3 |
| 173 | + with: |
| 174 | + registry: ${{ vars.PRODCONTAINER_REGISTRY }} |
| 175 | + username: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }} |
| 176 | + password: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }} |
| 177 | + |
| 178 | + - name: Push Image to Container Registry |
| 179 | + run: docker push --all-tags ${{ vars.PRODCONTAINER_REGISTRY }}/try |
| 180 | + |
| 181 | + - name: Create and Deploy to Container App |
| 182 | + uses: azure/CLI@v2 |
| 183 | + env: |
| 184 | + CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }} |
| 185 | + RESOURCEGROUP: ${{ vars.RESOURCEGROUP }} |
| 186 | + CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }} |
| 187 | + REGISTRY_URL: ${{ vars.PRODCONTAINER_REGISTRY }} |
| 188 | + ACR_USERNAME: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }} |
| 189 | + ACR_PASSWORD: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }} |
| 190 | + with: |
| 191 | + inlineScript: | |
| 192 | + az config set extension.use_dynamic_install=yes_without_prompt |
| 193 | + az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $REGISTRY_URL/try:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $REGISTRY_URL --ingress external --registry-username $ACR_USERNAME --registry-password $ACR_PASSWORD --target-port 80 --debug |
| 194 | +
|
133 | 195 | - name: Logout of Azure CLI |
134 | 196 | if: always() |
135 | 197 | uses: azure/CLI@v2 |
|
0 commit comments