test
各种测试用例
1.gitlab-ci.yml
image: alpine:latest
before_script:
stages:
- build
- scp
- deploy
- ftp
variables:
FTP_HOST: "ftp://150.138.84.36:21/ygy/test/"
SURSEN: "[email protected]"
SERVER_HOST: "10.0.27.45:/root/v2.2_arv/ARV_Install_Package/SurSecAdmin/"
build_job:
image: golang:1.18
stage: build
script:
- echo "sssss"
- echo "This is the first build job"
- go env -w GOPROXY=https://goproxy.cn,direct
- go mod tidy
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $SURSEN main.go
- echo "success"
artifacts:
name: $SURSEN
paths:
- $SURSEN
expire_in: 1 days
tags:
- sursen
scp_job:
stage: scp
script:
- ls
- apk add openssh-client
- chmod -R 600 id_rsa
- scp -o StrictHostKeyChecking=no -i id_rsa $SURSEN "$USERNAME"@$SERVER_HOST
- echo "scp success"
tags:
- sursen
deploy_job:
stage: deploy
script:
# - ls
# - chmod +x ssh.sh # 使脚本可执行
# - ./ssh.sh $SURSEN # 执行脚本
- apk add openssh-client
- chmod -R 600 id_rsa
- ssh -T -o StrictHostKeyChecking=no -i id_rsa [email protected] "cd /root/v2.2_arv/ARV_Install_Package/SurSecAdmin/; ./deploy.sh $SURSEN"
tags:
- sursen
ftp_job:
stage: ftp
script:
- sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
- sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
- yum makecache
- yum install ftp -y
- |
ftp -n $FTP_HOST <<END_SCRIPT
quote USER "$FTP_USERNAME"
quote PASS "$FTP_PASSWORD"
cd $FTP_PATH
put data.json
quit
END_SCRIPT
- ls
- apk add --no-cache curl
- curl -m 30 --retry 5 -T $SURSEN -u "$FTP_USERNAME":"$FTP_PASSWORD" $FTP_HOST
tags:
- sursen
2.gitlab-ci.yml
image: golang:1.18
stages:
- test
- build
- deploy
test_job:
stage: test
script:
- echo "This is the first maven job"
tags:
- blackmail
build_job:
stage: build
script:
- echo "This is the first build job"
- go env -w GOPROXY=https://goproxy.cn,direct
- go mod tidy
- go build -o keyserver .
- echo "success"
artifacts:
name: "keyserver"
paths:
- keyserver
expire_in: 1 days
tags:
- blackmail
deploy_job:
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ''
image: docker:stable
services:
- docker:dind
stage: deploy
script:
- echo "10.0.27.26 harbor.blackmail.com" >> /etc/hosts
- cat /etc/hosts
- mkdir -p /etc/docker/certs.d/harbor.blackmail.com:8443/
- cp harbor.blackmail.com:8443.cert /etc/docker/certs.d/harbor.blackmail.com:8443/
- cp harbor.blackmail.com:8443.key /etc/docker/certs.d/harbor.blackmail.com:8443/
- cp ca.crt /etc/docker/certs.d/harbor.blackmail.com:8443/
- echo "file content"
- ls
- docker build -f Dockerfile -t keyserver:latest .
- docker images
- docker tag keyserver:latest harbor.yottachain.net/yt-common/keyserver:latest
- docker images
- docker login harbor.yottachain.net --username "$YT_Harbor_username" --password "$YT_Harbor_password"
- docker push harbor.yottachain.net/yt-common/keyserver:latest
tags:
- blackmail
3.ftp.sh
#!/bin/bash
# 定义FTP服务器信息
FTP_HOST="150.138.84.36"
FTP_USERNAME="sursen"
FTP_PASSWORD="SurSen@2022"
# 定义本地和远程文件路径
LOCAL_FILE_PATH="kms.sql"
REMOTE_DIR="/ygy/test"
# 使用ftp命令上传文件
ftp -n $FTP_HOST <<END_SCRIPT
quote USER $FTP_USERNAME
quote PASS $FTP_PASSWORD
binary
cd $REMOTE_DIR
put $LOCAL_FILE_PATH
quit
END_SCRIPT