1. 设置Bitbucket的ssh
1.1 生成key
ssh-keygen
猛回车就好了。
1.2 配置脚本
将一下内容保存到~/.bashrc中
SSH_ENV=$HOME/.ssh/environment
# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} > /dev/null
/usr/bin/ssh-add
}if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
将一下内容保存到~/.ssh/config中:
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
1.3 验证ssh-key
退出终端,重新登录。
执行一下命令,查看是否添加了key:
2048 ae:04:24:bb:21:e8:df:44:81:32:15:09:cb:42:94:a2 /home/pekall/.ssh/id_rsa (RSA)
1.4 配置Bitbucket
[Manage account]—>[SSH Keys]—>[Add keys],结果如下:
将~/.ssh/id_rsa.pub的内容保存到上图Key对应的选项框中,保存即可。
1.5 工程配置与git使用
如果已经使用https下载仓库,通过一下方法可以修改。
获取工程ssh下载方式,并替换./.git/config中的url:
url = https://bitbucket.org/pekallchengdu/adminportal-play
改为
git pull
不需要输入密码就可以更新了。
2. 服务器自动配置
2.1 执行脚本
#!/bin/sh -e
# adminportal server management
#
# Pull source from bitbucket and restart the server#set log
echo `date` >> /home/pekall/run/run.log
# enter work dir
cd /home/pekall/adminportal-play# pull source
echo "get source code"
git pull# kill server
echo "try to kill current server"
if [ -f RUNNING_PID ]; then
echo "to kill current server"
pid=`head -n 1 RUNNING_PID`
echo $pid >> /home/pekall/run/run.log
kill -9 $pid
rm -rf RUNNING_PID
fi# start it
echo "start server on 9000"
#play "start 9001"
~/SDK/Web/play-2.1.3/play "start 9000"echo "end"
#exit 0
2.2 使用cron配置定时执行
#crontab -e
0 6 * * * /home/pekall/run/autoServer
30 12 * * * /home/pekall/run/autoServer
0 15 * * * /home/pekall/run/autoServer
0 18 * * * /home/pekall/run/autoServer# sudo /etc/init.d/cron restart
参考: