1.安装expect
yum install -y expect tcl tclx tcl-devel
2.脚本
#!/bin/bash
set -x
#www_path="/mnt"
www_path="/var/www/demo"
code_path="$www_path/project"
pass="pass"
#checkout code from git
function checkout() {
cd $www_path
/usr/bin/expect <<EOD
spawn /usr/bin/git clone git@code.aliyun.com:xxx/xxx.git project
send "$pass\r"
expect eof
EOD
cd $code_path
/usr/bin/git checkout rls
}
#code pull
function pull() {
cd $code_path
/usr/bin/expect <<EOD
spawn git pull origin rls
expect "Enter passphrase*"
send "$pass\r"
expect eof
EOD
}
function build() {
cd $code_path
npm install
npm run build:pre
}
echo "If project is not exist, code will be checkout from git"
if [ ! -d "$code_path" ];then
echo "Starting checkout..."
checkout
else
echo "code have been checkout before.."
fi
echo "Starting pull code..."
pull
echo "Starting build vue-admin..."
build
chown www:www $code_path -R