DEV Community

kosei
kosei

Posted on • Originally published at qiita.com

3

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.

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay