billowy-laptop-45963
06/26/2019, 5:41 PMwhite-balloon-205
06/27/2019, 3:56 PMpip installs
from your CI environment, or else automatically invoke them from within your Pulumi program.
This example is JavaScript and Azure deploying a .NET Function - but highlights some of the patterns that are likely to apply here:
https://github.com/pulumi/examples/tree/master/azure-ts-appservice-devopsbillowy-laptop-45963
06/27/2019, 4:21 PMwhite-balloon-205
06/27/2019, 4:24 PMpip install
into your pulumi program instead of depending on some external build in your CI environment.
Certainly if your build is not deterministic, this approach will lead to churn of deployed artifacts. There are more complex options you could consider even if you do have a non-deterministic build to only trigger rebuild of the artifact on changes to input sources - but that would be more involved.billowy-laptop-45963
06/27/2019, 4:25 PMwhite-balloon-205
06/27/2019, 4:26 PMpulumi.asset.FileArchive
and related asset resources will hash the contents and use that to decide whether to report a change that needs to be flowed into dependencies.billowy-laptop-45963
06/27/2019, 4:27 PMhigh-translator-22614
07/02/2019, 9:38 PMFileAsset
or a modified version with ArchiveAsset
should work.
https://gist.github.com/astronouth7303/54ff9d6245a0efc80b0a8fd2f8cba500
(Unfortunately, I'm a pulumi newbie, so I have no idea how to integrate a build process into pulumi, or even if you should)