Atualizando Github Actions - Encode url parameter #6
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
# This GitHub Action demonstrates building a Docker image, | |
# pushing it to Docker Hub, and creating a Render build | |
# preview with every push to the main branch. | |
# | |
# This Action requires setting the following secrets: | |
# | |
# - DOCKERHUB_USERNAME | |
# - DOCKERHUB_ACCESS_TOKEN (create in Docker Hub) | |
# - RENDER_API_KEY (create from the Account Settings page) | |
# - RENDER_SERVICE_ID (the service to create a preview for) | |
# | |
# You must also set env.DOCKERHUB_REPOSITORY_URL below. | |
# | |
# Remember to delete previews when you're done with them! | |
# You can do this from the Render Dashboard or via the | |
# Render API. | |
name: Preview Docker Image on Render | |
# Fires whenever commits are pushed to the main branch | |
# (including when a PR is merged) | |
on: | |
push: | |
branches: [ "main" ] | |
env: | |
# Replace with the URL for your image's repository | |
DOCKERHUB_REPOSITORY_URL: docker.io/joaoallmeida/calculadora-fiis | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v3 | |
- name: Build the Docker image | |
run: docker build . --file Dockerfile --tag $DOCKERHUB_REPOSITORY_URL:$(date +%s) | |
- name: Log in to Docker Hub | |
uses: docker/[email protected] | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} | |
- name: Docker Metadata action | |
uses: docker/[email protected] | |
id: meta | |
with: | |
images: ${{env.DOCKERHUB_REPOSITORY_URL}} | |
- name: Build and push Docker image | |
uses: docker/[email protected] | |
id: build | |
with: | |
context: . | |
file: ./Dockerfile | |
push: true | |
tags: ${{ github.run_id }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- name: Deploy Render Service | |
uses: fjogeleit/http-request-action@v1 | |
with: | |
# Render API endpoint for creating a service preview | |
# url: 'https://api.render.com/v1/services/${{ secrets.RENDER_SERVICE_ID }}/preview' | |
param_encode: echo `${{ env.DOCKERHUB_REPOSITORY_URL }}:${{ github.run_id }} | sed 's|/|%2F|g' | sed 's|:|%2F|g'` | |
url: https://api.render.com/deploy/${{ secrets.RENDER_SERVICE_ID }}?key=${{ secrets.HOOK_KEY_ID }}&imgURL=$param_encode | |
method: 'POST' | |
# All Render API requests require a valid API key. | |
# bearerToken: ${{ secrets.RENDER_API_KEY }} | |
# Here we specify the digest of the image we just | |
# built. You can alternatively provide the image's | |
# tag (main) instead of a digest. | |
# data: '{"imagePath": "${{ env.DOCKERHUB_REPOSITORY_URL }}@${{ steps.build.outputs.digest }}"}' |