docker部署nginx展示svn下的产品原型
前言公司产品人员设计的产品原型归档到svn,并在svn服务器上,拉取相关的原型文件,部署nginx服务,使其产品原型能够通过web服务访问得到,利于开发人员浏览产品原型,进行相关的开发工作功能需求当产品设计的原型有变更时,访问的web服务及时更新,并记录下产品更新的变更需求,及时告知开发人员周知,并做进一步的开发处理部署搭建svndocker搭建svn服务svn服务器上拉取产品原型,并配置自动更新
·
前言
公司产品人员设计的产品原型归档到svn,并在svn服务器上,拉取相关的原型文件,部署nginx服务,使其产品原型能够通过web服务访问得到,利于开发人员浏览产品原型,进行相关的开发工作
功能需求
当产品设计的原型有变更时,访问的web服务及时更新,并记录下产品更新的变更需求,及时告知开发人员周知,并做进一步的开发处理
部署
搭建svn
svn服务器上拉取产品原型,并配置自动更新,及输入提交信息
容器内操作(亦可在宿主机上操作,注意授予目录、文件的权限)
[root@cex-svn ~]# docker exec -it cex-svn /bin/sh
/ # cd /home/svn
/ # mkdir web
/ # chown -R apache:apache web
/ # svn checkout --username username --password password http://10.0.0.59/svn/product .
在放置产品原型的product目录下配置post-commit文件,并给予执行权限,当服务端有变更时,svn上的客户端文件,自动更新
/ # cd /home/svn/product/hooks
/home/svn/product/hooks # cat > post-commit <<-EOF
#!/bin/sh
REPOS="$1"
REV="$2"
SVN_PATH=/usr/bin/svn # svn命令执行路径
WEB_PATH=/home/svn/web # nginx展示web目录路径,/home/svn目录已做了挂载处理
LOG_PATH=/home/svn/web/svn-log.txt # svn用户更新产品原型的记录日志文件
SVN_USER=username
SVN_PASS=password
$SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache # 更新svn客户端命令
svn log --username $SVN_USER --password $SVN_PASS http://10.0.0.59/svn/product > $LOG_PATH # 记录svn用户更新产品原型的记录到日志文件的命令
EOF
/home/svn/product/hooks # chmod +x post-commit
在放置产品原型的product目录下配置pre-commit文件,并给予执行权限,当svn客户端需要提交变更时,只有说明其变更原因时,才能提交到svn服务器上,否则,不能提交
/home/svn/product/hooks # mv pre-commit.tmpl pre-commit.tmpl.bak20210304
/home/svn/product/hooks # cat > pre-commit <<-EOF
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | wc -m`
# 如果不输入提交的信息,报错,得重新输入信息
if [ "$LOGMSG" -lt 2 ];then
echo "Please state the reason for changing the requirement" >& 2
exit 1
fi
exit 0
EOF
/home/svn/product/hooks # chmod +x pre-commit
docker-compose方式部署nginx,Web访问原型
[root@cex-svn ~]# cd /data/deploy/cex-nginx
default.conf docker-compose.yml
[root@cex-svn cex-nginx]# cat > default.conf <<-EOF
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
autoindex on;
autoindex_localtime on;
charset utf-8;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
EOF
[root@cex-svn cex-nginx]# cat > docker-compose.yml <<-EOF
version: "3.5"
services:
cex-nginx:
image: nginx
container_name: cex-nginx
hostname: cex-nginx
ports:
- 8080:80
environment:
- SET_CONTAINER_TIMEZONE=true
- CONTAINER_TIMEZONE=Asia/Shanghai
volumes:
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro
- /data/deploy/cex-nginx/default.conf:/etc/nginx/conf.d/default.conf
- /opt/cex-svn/repo/web:/usr/share/nginx/html
restart: always
tty: true
EOF
[root@cex-svn cex-nginx]# docker-compose up -d
结语
… …
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)