GitLab Cl Deploy - docker build push

本文介绍了一个使用GitLabCI进行自动化构建与部署的过程。通过Maven构建项目,并利用Docker容器化部署到Tomcat服务器上。该流程包括了创建Dockerfile、构建Docker镜像及推送至私有仓库等步骤。

GitLab CI  - Jobs  - Deploy(run on success)


mvn  clean install deploy -pl ezhe-service,ezhe-wap -P www  -Dmaven.test.skip=true

ls

tempdir=`date "+%Y%m%d.%H%M%S"`

mkdir  /tmp/$tempdir/

mv ezhe-wap/target/ROOT.war   /tmp/$tempdir/

cd  /tmp/$tempdir/

#Dockerfile
echo > Dockerfile
echo 'FROM registry.gozap.com/gozap-tomcat:7-jdk'             >> Dockerfile      
echo 'MAINTAINER Gozap Tomcat'                                >> Dockerfile
echo                                                          >> Dockerfile
echo 'ENV CATALINA_HOME /home/tomcat '                        >> Dockerfile
echo 'ENV PATH $CATALINA_HOME/bin:$PATH '                     >> Dockerfile
echo 'ENV JAVA_HOME /home/jdk1.7.0_75   '                     >> Dockerfile
echo  ENV TZ \'Asia/Shanghai\'                               >> Dockerfile
echo 'ADD ./ROOT.war /home/tomcat/webapps/ '                  >> Dockerfile
echo 'RUN groupadd -r tomcat && useradd -r -g tomcat tomcat'  >> Dockerfile
echo 'WORKDIR \$CATALINA_HOME '                               >> Dockerfile
echo 'EXPOSE 8080 '                                           >> Dockerfile
echo 'CMD ["catalina.sh", "run"]'                             >> Dockerfile

cat Dockerfile

registry=registry.gozap.com
appname=m.ezhe.com
appversion=1.1.3-$tempdir
docker build -t $registry/$appname:$appversion ./
docker tag -f $registry/$appname:$appversion   $registry/$appname
docker images
docker login --username="gozap" --password="hqdGpLiYZMbvm93qupUBFT"  registry.gozap.com
docker push  $registry/$appname
docker push  $registry/$appname:$appversion

rm -rf /tmp/$tempdir/


在使用docker-compose部署GitLabGitLab Runner时,yml文件配置是实现相应功能的关键。以下是相关配置及使用示例: ### 配置文件示例 创建一个`docker-compose.yml`文件,可参考以下内容: ```yaml version: '3' services: gitlab: image: gitlab/gitlab-ce:latest container_name: gitlab restart: always ports: - "80:80" - "443:443" - "22:22" volumes: - ./config:/etc/gitlab - ./data:/var/opt/gitlab - ./logs:/var/log/gitlab gitlab-runner: image: gitlab/gitlab-runner:latest container_name: gitlab-runner restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - ./runner-config:/etc/gitlab-runner ``` 此配置文件中,定义了两个服务:`gitlab`和`gitlab-runner`。`gitlab`服务使用`gitlab/gitlab-ce:latest`镜像,映射了`80`、`443`和`22`端口,同时挂载了配置、数据和日志目录。`gitlab-runner`服务使用`gitlab/gitlab-runner:latest`镜像,挂载了`/var/run/docker.sock`和`./runner-config`目录,以保证与Docker守护进程通信并存储Runner配置信息 [^1]。 ### 另一种runner配置示例 ```yaml gitlab-runner: image: gitlab-runner build: context: ./gitlab-runner container_name: gitlab-runner volumes: - ./gitlab-runner/deploy/publish.sh:/var/www/gitlab-runner/deploy/publish.sh:rw - ${DATA_PATH_HOST}/gitlab/runner:/etc/gitlab-runner - /var/run/docker.sock:/var/run/docker.sock:rw restart: always ``` 该示例中,使用了`build`指令,从`./gitlab-runner`目录构建镜像。同时挂载了脚本文件、Runner配置目录和Docker守护进程套接字,保证Runner能执行脚本并与Docker交互 [^2]。 ### 使用方法 在终端中,进入存放`docker-compose.yml`文件的文件夹,并运行以下命令启动GitLabGitLab Runner: ```bash docker-compose up -d ``` 此命令会让Docker自动下载GitLabGitLab Runner的镜像,并在后台运行两个容器 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值