Skip to content

Commit 5ac4ddc

Browse files
committed
优化编译脚本
1 parent 86a6b45 commit 5ac4ddc

File tree

2 files changed

+38
-38
lines changed

2 files changed

+38
-38
lines changed

build.sh

+31-31
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,61 @@
11
#!/bin/bash
22

3-
GITHUB_TOKEN=""
3+
github_token=""
44

5-
PROJECT="Jrohy/webssh"
5+
project="Jrohy/webssh"
66

77
#获取当前的这个脚本所在绝对路径
8-
SHELL_PATH=$(cd `dirname $0`; pwd)
8+
shell_path=$(cd `dirname $0`; pwd)
99

10-
RELEASE_ID=`curl -H 'Cache-Control: no-cache' -s https://api.github.com/repos/$PROJECT/releases/latest|grep id|awk 'NR==1{print $2}'|sed 's/,//'`
10+
release_id=`curl -H 'Cache-Control: no-cache' -s https://api.github.com/repos/$project/releases/latest|grep id|awk 'NR==1{print $2}'|sed 's/,//'`
1111

1212
function uploadfile() {
13-
FILE=$1
13+
file=$1
1414

15-
CTYPE=$(file -b --mime-type $FILE)
15+
ctype=$(file -b --mime-type $file)
1616

17-
curl -H "Authorization: token ${GITHUB_TOKEN}" -H "Content-Type: ${CTYPE}" --data-binary @$FILE "https://uploads.github.com/repos/$PROJECT/releases/${RELEASE_ID}/assets?name=$(basename $FILE)"
17+
curl -H "Authorization: token ${github_token}" -H "Content-Type: ${ctype}" --data-binary @$file "https://uploads.github.com/repos/$project/releases/${release_id}/assets?name=$(basename $file)"
1818

1919
echo ""
2020
}
2121

2222
function upload() {
23-
FILE=$1
24-
DGST=$1.dgst
25-
openssl dgst -md5 $FILE | sed 's/([^)]*)//g' >> $DGST
26-
openssl dgst -sha1 $FILE | sed 's/([^)]*)//g' >> $DGST
27-
openssl dgst -sha256 $FILE | sed 's/([^)]*)//g' >> $DGST
28-
openssl dgst -sha512 $FILE | sed 's/([^)]*)//g' >> $DGST
29-
uploadfile $FILE
30-
uploadfile $DGST
23+
file=$1
24+
dgst=$1.dgst
25+
openssl dgst -md5 $file | sed 's/([^)]*)//g' >> $dgst
26+
openssl dgst -sha1 $file | sed 's/([^)]*)//g' >> $dgst
27+
openssl dgst -sha256 $file | sed 's/([^)]*)//g' >> $dgst
28+
openssl dgst -sha512 $file | sed 's/([^)]*)//g' >> $dgst
29+
uploadfile $file
30+
uploadfile $dgst
3131
}
3232

33-
VERSION=`git describe --tags $(git rev-list --tags --max-count=1)`
34-
NOW=`TZ=Asia/Shanghai date "+%Y%m%d-%H%M"`
35-
GO_VERSION=`go version|awk '{print $3,$4}'`
36-
GIT_VERSION=`git rev-parse HEAD`
37-
LDFLAGS="-w -s -X 'main.version=$VERSION' -X 'main.buildDate=$NOW' -X 'main.goVersion=$GO_VERSION' -X 'main.gitVersion=$GIT_VERSION'"
33+
version=`git describe --tags $(git rev-list --tags --max-count=1)`
34+
now=`TZ=Asia/Shanghai date "+%Y%m%d-%H%M"`
35+
go_version=`go version|awk '{print $3,$4}'`
36+
git_version=`git rev-parse HEAD`
37+
ldflags="-w -s -X 'main.version=$version' -X 'main.buildDate=$now' -X 'main.goVersion=$go_version' -X 'main.gitVersion=$git_version'"
3838

39-
GOOS=windows GOARCH=amd64 go build -ldflags "$LDFLAGS" -o result/webssh_windows_amd64.exe .
40-
GOOS=windows GOARCH=386 go build -ldflags "$LDFLAGS" -o result/webssh_windows_386.exe .
41-
GOOS=linux GOARCH=amd64 go build -ldflags "$LDFLAGS" -o result/webssh_linux_amd64 .
42-
GOOS=linux GOARCH=arm64 go build -ldflags "$LDFLAGS" -o result/webssh_linux_arm64 .
43-
GOOS=darwin GOARCH=amd64 go build -ldflags "$LDFLAGS" -o result/webssh_darwin_amd64 .
44-
GOOS=darwin GOARCH=arm64 go build -ldflags "$LDFLAGS" -o result/webssh_darwin_arm64 .
39+
GOOS=windows GOARCH=amd64 go build -ldflags "$ldflags" -o result/webssh_windows_amd64.exe .
40+
GOOS=windows GOARCH=386 go build -ldflags "$ldflags" -o result/webssh_windows_386.exe .
41+
GOOS=linux GOARCH=amd64 go build -ldflags "$ldflags" -o result/webssh_linux_amd64 .
42+
GOOS=linux GOARCH=arm64 go build -ldflags "$ldflags" -o result/webssh_linux_arm64 .
43+
GOOS=darwin GOARCH=amd64 go build -ldflags "$ldflags" -o result/webssh_darwin_amd64 .
44+
GOOS=darwin GOARCH=arm64 go build -ldflags "$ldflags" -o result/webssh_darwin_arm64 .
4545

4646
if [[ $# == 0 ]];then
4747
cd result
4848

49-
UPLOAD_ITEM=($(ls -l|awk '{print $9}'|xargs -r))
49+
upload_item=($(ls -l|awk '{print $9}'|xargs -r))
5050

51-
for ITEM in ${UPLOAD_ITEM[@]}
51+
for item in ${upload_item[@]}
5252
do
53-
upload $ITEM
53+
upload $item
5454
done
5555

5656
echo "upload completed!"
5757

58-
cd $SHELL_PATH
58+
cd $shell_path
5959

6060
rm -rf result
61-
fi
61+
fi

buildx.sh

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#!/bin/bash
2-
VERSION=`git describe --tags $(git rev-list --tags --max-count=1)`
3-
NOW=`TZ=Asia/Shanghai date "+%Y%m%d-%H%M"`
4-
GO_VERSION=`go version|awk '{print $3,$4}'`
5-
GIT_VERSION=`git rev-parse HEAD`
6-
LDFLAGS="-w -s -X 'main.version=$VERSION' -X 'main.buildDate=$NOW' -X 'main.goVersion=$GO_VERSION' -X 'main.gitVersion=$GIT_VERSION'"
2+
version=`git describe --tags $(git rev-list --tags --max-count=1)`
3+
now=`TZ=Asia/Shanghai date "+%Y%m%d-%H%M"`
4+
go_version=`go version|awk '{print $3,$4}'`
5+
git_version=`git rev-parse HEAD`
6+
ldflags="-w -s -X 'main.version=$version' -X 'main.buildDate=$now' -X 'main.goVersion=$go_version' -X 'main.gitVersion=$git_version'"
77

8-
gox -output="docker/result/webssh_{{.OS}}_{{.Arch}}" -ldflags="$LDFLAGS" -os="linux"
8+
gox -output="docker/result/webssh_{{.OS}}_{{.Arch}}" -ldflags="$ldflags" -os="linux"
99

1010
cd docker
11-
docker buildx build --platform linux/arm64,linux/amd64,linux/arm,linux/386,linux/ppc64le,linux/s390x -t jrohy/webssh:${VERSION} . --push
11+
docker buildx build --platform linux/arm64,linux/amd64,linux/arm,linux/386,linux/ppc64le,linux/s390x -t jrohy/webssh:${version} . --push
1212
docker buildx build --platform linux/arm64,linux/amd64,linux/arm,linux/386,linux/ppc64le,linux/s390x -t jrohy/webssh . --push
1313
docker buildx build --platform linux/arm64 -t jrohy/webssh:arm64 . --push

0 commit comments

Comments
 (0)