microsoft / AL-Go

The plug-and-play DevOps solution for Business Central app development on GitHub
MIT License
285 stars 121 forks source link

Publish Artifact from different branches #984

Closed dksander closed 7 months ago

dksander commented 7 months ago

This Issue is properly only a VAR thing with onprem customer.

Case: I want to grap the artifact created by CI/CD but they are only publish if branch is called main or release/ Code form CICD.yaml: publishArtifacts: ${{ github.ref_name == 'main' || startswith(github.ref_name, 'release/') || needs.Initialization.outputs.deliveryTargetsJson != '[]' || needs.Initialization.outputs.environmentCount > 0 }}

I want to use the artifacts created by CI/CD in another branch.

My case is that I use a custom OnPrem deployment where I need to publish to an OnPrem BC enviroment. That currently works perfect from main but I need into work on another branch (in my case called TESTING).

Is this in any way support or possible to have? Perhaps a setting in the AL-Go-Settings.json could fix it in fureture release?

Br Lars

dksander commented 7 months ago

Also related to: https://github.com/orgs/microsoft/projects/521/views/1?filterQuery=branch&pane=issue&itemId=44382672

I want to deploy Development branch on OnPrem Enviroment for FAT

freddydk commented 7 months ago

https://aka.ms/algosettings#deployto has a branches setting, which you should be able to set and enable deployment from other branches. The settings change needs to be done in that branch, and can be in main as well.

dksander commented 7 months ago

I kinda see where you are going, but I will need to setup an enviroment that should not be used? perhaps with an deliveryToxx.ps1 that is blank, to not publish on every build to FAT?

Is that the way to go? (I am interested in having the artifact published from CI/CD to use in another action, the pure deployment steps I am handling else where)

freddydk commented 7 months ago

If you are not deploying to an actual environment, but instead delivering to a place where somebody else will perform the deployment, then I would add a deliverToMyPlace.ps1 (or like) and deliver the app during CI/CD and then deploy elsewhere. You can control which branches will invoke the delivery in https://aka.ms/algosettings#deliverto