mirror of https://github.com/portainer/portainer
feat(images): initial aarch64/arm64 support (#447)
parent
2ef821f118
commit
0bacaef71a
7
build.sh
7
build.sh
|
@ -27,6 +27,13 @@ cd /tmp/portainer-build-arm
|
||||||
tar cvpfz portainer-${VERSION}-linux-arm.tar.gz portainer
|
tar cvpfz portainer-${VERSION}-linux-arm.tar.gz portainer
|
||||||
cd -
|
cd -
|
||||||
|
|
||||||
|
grunt release-arm64
|
||||||
|
rm -rf /tmp/portainer-build-arm64 && mkdir -pv /tmp/portainer-build-arm64/portainer
|
||||||
|
mv dist/* /tmp/portainer-build-arm64/portainer
|
||||||
|
cd /tmp/portainer-build-arm64
|
||||||
|
tar cvpfz portainer-${VERSION}-linux-arm64.tar.gz portainer
|
||||||
|
cd -
|
||||||
|
|
||||||
grunt release-macos
|
grunt release-macos
|
||||||
rm -rf /tmp/portainer-build-darwin && mkdir -pv /tmp/portainer-build-darwin/portainer
|
rm -rf /tmp/portainer-build-darwin && mkdir -pv /tmp/portainer-build-darwin/portainer
|
||||||
mv dist/* /tmp/portainer-build-darwin/portainer
|
mv dist/* /tmp/portainer-build-darwin/portainer
|
||||||
|
|
29
gruntfile.js
29
gruntfile.js
|
@ -74,6 +74,21 @@ module.exports = function (grunt) {
|
||||||
'usemin',
|
'usemin',
|
||||||
'clean:tmp'
|
'clean:tmp'
|
||||||
]);
|
]);
|
||||||
|
grunt.registerTask('release-arm64', [
|
||||||
|
'clean:app',
|
||||||
|
'if:unixArm64BinaryNotExist',
|
||||||
|
'html2js',
|
||||||
|
'useminPrepare',
|
||||||
|
'recess:build',
|
||||||
|
'concat',
|
||||||
|
'clean:tmpl',
|
||||||
|
'cssmin',
|
||||||
|
'uglify',
|
||||||
|
'copy',
|
||||||
|
'filerev',
|
||||||
|
'usemin',
|
||||||
|
'clean:tmp'
|
||||||
|
]);
|
||||||
grunt.registerTask('release-macos', [
|
grunt.registerTask('release-macos', [
|
||||||
'clean:app',
|
'clean:app',
|
||||||
'if:darwinBinaryNotExist',
|
'if:darwinBinaryNotExist',
|
||||||
|
@ -355,6 +370,14 @@ module.exports = function (grunt) {
|
||||||
'mv api/cmd/portainer/portainer-linux-arm dist/portainer'
|
'mv api/cmd/portainer/portainer-linux-arm dist/portainer'
|
||||||
].join(' && ')
|
].join(' && ')
|
||||||
},
|
},
|
||||||
|
buildUnixArm64Binary: {
|
||||||
|
command: [
|
||||||
|
'docker run --rm -v $(pwd)/api:/src -e BUILD_GOOS="linux" -e BUILD_GOARCH="arm64" portainer/golang-builder:cross-platform /src/cmd/portainer',
|
||||||
|
'shasum api/cmd/portainer/portainer-linux-arm64 > portainer-checksum.txt',
|
||||||
|
'mkdir -p dist',
|
||||||
|
'mv api/cmd/portainer/portainer-linux-arm64 dist/portainer'
|
||||||
|
].join(' && ')
|
||||||
|
},
|
||||||
buildDarwinBinary: {
|
buildDarwinBinary: {
|
||||||
command: [
|
command: [
|
||||||
'docker run --rm -v $(pwd)/api:/src -e BUILD_GOOS="darwin" -e BUILD_GOARCH="amd64" portainer/golang-builder:cross-platform /src/cmd/portainer',
|
'docker run --rm -v $(pwd)/api:/src -e BUILD_GOOS="darwin" -e BUILD_GOARCH="amd64" portainer/golang-builder:cross-platform /src/cmd/portainer',
|
||||||
|
@ -416,6 +439,12 @@ module.exports = function (grunt) {
|
||||||
},
|
},
|
||||||
ifFalse: ['shell:buildUnixArmBinary']
|
ifFalse: ['shell:buildUnixArmBinary']
|
||||||
},
|
},
|
||||||
|
unixArm64BinaryNotExist: {
|
||||||
|
options: {
|
||||||
|
executable: 'dist/portainer'
|
||||||
|
},
|
||||||
|
ifFalse: ['shell:buildUnixArm64Binary']
|
||||||
|
},
|
||||||
darwinBinaryNotExist: {
|
darwinBinaryNotExist: {
|
||||||
options: {
|
options: {
|
||||||
executable: 'dist/portainer'
|
executable: 'dist/portainer'
|
||||||
|
|
Loading…
Reference in New Issue