docker部署nginx展示svn下的產品原型

2021-10-21 07:46:56 字數 2802 閱讀 5653

前言

公司產品人員設計的產品原型歸檔到svn,並在svn伺服器上,拉取相關的原型檔案,部署nginx服務,使其產品原型能夠通過web服務訪問得到,利於開發人員瀏覽產品原型,進行相關的開發工作

功能需求

當產品設計的原型有變更時,訪問的web服務及時更新,並記錄下產品更新的變更需求,及時告知開發人員周知,並做進一步的開發處理

部署搭建svn

docker搭建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 .

在放置產品原型的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 > $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

fiexit 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

error_page 500 502 503 504 /50x.html;

location = /50x.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

結語

使用docker部署nginx

拉取映象 docker pull nginx 建立掛載目錄 mkdir p usr local docker nginx 編輯配置 編輯測試頁面 vi usr local docker nginx www index.html 123123 docker run dti network host p...

docker單機部署Nginx

centos 7 docker nginx 在shell中執行以下命令拉取官方nginx容器映象 docker pull docker.io nginx 如對應本地目錄下沒有 nginx.conf 和 default.conf 配置檔案將會啟動報錯,因此需要預先從已執行的nginx中將檔案複製出來置...

docker部署nginx使用https訪問

想要做的事情 使用nginx進行https訪問,若http請求直接跳轉到https上 環境 阿里雲 linux docker nginx ssl 防火牆和vpc開放80埠 遇到問題 docker 部署nginx後使用docker logs nginx檢視執行日誌為空。容器啟動成功,使用http 網域...