DEV Community

kosei
kosei

Posted on • Originally published at qiita.com

How to Set Dynamic Release URLs in Environment with GitHub Actions

Introduction

This article explains how to dynamically set a release URL in an Environment using GitHub Actions.

Background

GitHub Actions has a feature for defining environments called Environment.
Using environments for deployment - GitHub

For example, by setting up environments like the following, it's possible to switch the release destination. (You can set any name you want.)

  • Production environment
  • Staging environment
  • Testing environment
  • Development environment

Among these, there is a function to display the URL of the release destination after releasing.

GitHub Actions Release URL

If there's only one fixed environment, it's not a problem. However, if the URL is determined dynamically during the release steps, it was unclear how to display it, so I'm documenting the method here.

If it's a single environment, you can set the URL as follows.



environment:
name: production
url: https://example.com

Enter fullscreen mode Exit fullscreen mode




How To

The method is simple: save the value in an output during the step when the URL is confirmed, and then set that output as the environment's URL.

Here is a sample Yaml. You need to assign a reference ID to the step. The format for referencing the output is steps.[step_id].outputs.[output_name].



environment:
name: development
url: ${{ steps.get_release_url.outputs.release_url }}

steps:
- name: Set release url
id: get_release_url
run: echo release_url=https://xxx.example.com >> $GITHUB_OUTPUT

Enter fullscreen mode Exit fullscreen mode




Conclusion

The method to dynamically set the URL of a release in GitHub Actions' Environment is to save a value in the output during the release step, and then set that output name as the URL in the environment.

Top comments (0)