Fix upload artifacts script to fail, add release upload script

This should improve reliability
This commit is contained in:
Andrey Smirnov
2019-07-05 20:08:31 +03:00
parent 37166af321
commit a834461752
2 changed files with 34 additions and 4 deletions
+6
View File
@@ -92,3 +92,9 @@ deploy:
on: on:
branch: master branch: master
condition: "$DEPLOY_BINARIES = yes" condition: "$DEPLOY_BINARIES = yes"
- provider: script
script: bash upload-artifacts.sh release
skip_cleanup: true
on:
tags: true
condition: "$DEPLOY_BINARIES = yes"
+28 -4
View File
@@ -8,10 +8,11 @@ folder=`mktemp -u tmp.XXXXXXXXXXXXXXX`
aptly_user="$APTLY_USER" aptly_user="$APTLY_USER"
aptly_password="$APTLY_PASSWORD" aptly_password="$APTLY_PASSWORD"
aptly_api="https://internal.aptly.info" aptly_api="https://internal.aptly.info"
version=`make version`
for file in $packages; do for file in $packages; do
echo "Uploading $file..." echo "Uploading $file..."
curl -sS -X POST -F "file=@$file" -u $aptly_user:$aptly_password ${aptly_api}/api/files/$folder curl -fsS -X POST -F "file=@$file" -u $aptly_user:$aptly_password ${aptly_api}/api/files/$folder
echo echo
done done
@@ -20,16 +21,39 @@ if [[ "$1" = "nightly" ]]; then
aptly_published=s3:repo.aptly.info:./nightly aptly_published=s3:repo.aptly.info:./nightly
echo "Adding packages to $aptly_repository..." echo "Adding packages to $aptly_repository..."
curl -sS -X POST -u $aptly_user:$aptly_password ${aptly_api}/api/repos/$aptly_repository/file/$folder curl -fsS -X POST -u $aptly_user:$aptly_password ${aptly_api}/api/repos/$aptly_repository/file/$folder
echo echo
echo "Updating published repo..." echo "Updating published repo..."
curl -sS -X PUT -H 'Content-Type: application/json' --data \ curl -fsS -X PUT -H 'Content-Type: application/json' --data \
'{"AcquireByHash": true, "Signing": {"Batch": true, "Keyring": "aptly.repo/aptly.pub", '{"AcquireByHash": true, "Signing": {"Batch": true, "Keyring": "aptly.repo/aptly.pub",
"secretKeyring": "aptly.repo/aptly.sec", "PassphraseFile": "aptly.repo/passphrase"}}' \ "secretKeyring": "aptly.repo/aptly.sec", "PassphraseFile": "aptly.repo/passphrase"}}' \
-u $aptly_user:$aptly_password ${aptly_api}/api/publish/$aptly_published -u $aptly_user:$aptly_password ${aptly_api}/api/publish/$aptly_published
echo echo
fi fi
curl -sS -X DELETE -u $aptly_user:$aptly_password ${aptly_api}/api/files/$folder if [[ "$1" = "release" ]]; then
aptly_repository=aptly-repository
aptly_snapshot=aptly-$version
aptly_published=s3:repo.aptly.info:./squeeze
echo "Adding packages to $aptly_repository..."
curl -fsS -X POST -u $aptly_user:$aptly_password ${aptly_api}/api/repos/$aptly_repository/file/$folder
echo
echo "Creating snapshot $aptly_snapshot from repo $aptly_repository..."
curl -fsS -X POST -u $aptly_user:$aptly_password -H 'Content-Type: application/json' --data \
"{\"Name\":\"$aptly_snapshot\"}" ${aptly_api}/api/repos/$aptly_repository/snapshots
echo
echo "Switching published repo to use snapshot $aptly_snapshot..."
curl -fsS -X PUT -H 'Content-Type: application/json' --data \
"{\"AcquireByHash\": true, \"Snapshots\": [{\"Component\": \"main\", \"Name\": \"$aptly_snapshot\"}],
\"Signing\": {\"Batch\": true, \"Keyring\": \"aptly.repo/aptly.pub\",
\"secretKeyring\": \"aptly.repo/aptly.sec\", \"PassphraseFile\": \"aptly.repo/passphrase\"}}" \
-u $aptly_user:$aptly_password ${aptly_api}/api/publish/$aptly_published
echo
fi
curl -fsS -X DELETE -u $aptly_user:$aptly_password ${aptly_api}/api/files/$folder
echo echo