Deploy an image
This commit is contained in:
		@@ -3,30 +3,25 @@
 | 
			
		||||
use strict; 
 | 
			
		||||
use warnings; 
 | 
			
		||||
# --------------------------------------
 | 
			
		||||
# -- Drone variables
 | 
			
		||||
# --------------------------------------
 | 
			
		||||
my $drone_url="$ENV{'DRONE_SYSTEM_PROTO'}://$ENV{'DRONE_SYSTEM_HOST'}";
 | 
			
		||||
my $drone_project=$ENV{'DRONE_REPO'};
 | 
			
		||||
my $drone_api="$drone_url/api/repos/$drone_project/builds";
 | 
			
		||||
# --------------------------------------
 | 
			
		||||
# -- Gitea variables
 | 
			
		||||
# --------------------------------------
 | 
			
		||||
my $gitea_url=$ENV{'GITEA_URL'} || 'https://git.badhouseplants.net/api/v1';
 | 
			
		||||
my $gitea_org=$ENV{'GITEA_ORG'} || 'badhouseplants';
 | 
			
		||||
my $gitea_package=$ENV{'GITEA_PACKAGE'} || 'badhouseplants-net';
 | 
			
		||||
my $gitea_api="$gitea_url/packages/$gitea_org/container/$gitea_package";
 | 
			
		||||
my $gitea_list_api="$gitea_url/packages/$gitea_org?page=1&type=container&q=badhouseplants-net";
 | 
			
		||||
my $gitea_token=$ENV{'GITEA_TOKEN'};
 | 
			
		||||
my $gitea_user=$ENV{'GITEA_USER'} || $ENV{'DRONE_COMMIT_AUTHOR'};
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
# -- Get recent builds from drone-ci
 | 
			
		||||
# -- Get tags from Gitea
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
my $builds = "curl -X 'GET' $drone_api -H 'accept: application/json' | jq -r '.[].after'";
 | 
			
		||||
my $builds = "curl -X 'GET' \"$gitea_list_api\" -H 'accept: application/json' -H \"Authorization: token $gitea_token\" | jq '.[].version'";
 | 
			
		||||
my @builds_out = `$builds`;
 | 
			
		||||
chomp @builds_out;
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
# -- Get a list of all commits + 'latest'
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
my $commits = "argocd app list -o yaml -l app=badhouseplants | yq  '.[].metadata.labels.commit_sha'";
 | 
			
		||||
my $commits = "argocd app list -o yaml -l application=badhouseplants | yq  '.[].metadata.labels.commit_sha'";
 | 
			
		||||
my @commits_out = `$commits`;
 | 
			
		||||
chomp @commits_out;
 | 
			
		||||
push @commits_out, 'latest';
 | 
			
		||||
@@ -46,7 +41,7 @@ foreach my $line (@builds_out)
 | 
			
		||||
{
 | 
			
		||||
  print "Checking if $line is in @commits_out\n\n";
 | 
			
		||||
  if ( ! grep( /^$line$/, @commits_out ) ) {
 | 
			
		||||
    my $cmd = "curl -X 'DELETE' -s \"$gitea_api/$line\"  -H 'accept: application/json' -u $gitea_user:$gitea_token || true";
 | 
			
		||||
    my $cmd = "curl -X 'DELETE' -s \"$gitea_api/$line\"  -H 'accept: application/json' -H \"Authorization: token $gitea_token\" || true";
 | 
			
		||||
    print "Removing ${line}\n\n";
 | 
			
		||||
    my $output = `$cmd`;
 | 
			
		||||
    print "$output \n";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user