洞察探索如何通过一套代码实现跨平台小程序开发与高效管理,助力企业数字化转型
883
2022-11-23
第2集(GItlab+Jenkins+SonarQube+Docker+Harbor+Selenium实现CI/CD之LNMP项目准备)
第1集,环境搭建
第3集,WebHook触发mvn打包
第4集,SonarQube实现CodeReview
第5集,build image
第6集,部署到测试环境,Selenium自动测试
第7集,模拟版本更新,在测试环境验证
第8集,部署到生产环境
第9集,流水线部署到测试环境
一、在gitlab上创建项目dev_lnmp
1.创建项目
2.在jenkins机器上克隆该项目
sudo -iyum -y install gitgit config --global user.name "root"git config --global user.email "anqixiang@163.com"git clone 提取码:cumy
nginx-php-fpm镜像-:
链接:提取码:at3j
docker pull mysqldocker pull richarvey/nginx-php-fpm:latestdocker images
2.在dev_lnmp下创建目录,目录结构如下
3.docker-compose-module.yml内容:
version: '3.7'services: mysql: image: 172.16.38.202:8010/library/mysql:8.0.18 container_name: lnmp_mysql hostname: lnmp_mysql restart: always command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8 environment: MYSQL_ROOT_PASSWORD: 123456 ports: - 3306:3306 volumes: - /data/docker_volume/mysql/mysql_data:/var/lib/mysql networks: - lnmp security_opt: - seccomp:unconfined lnmp_web: image: #tag#richarvey/nginx-php-fpm:latest container_name: lnmp_web hostname: lnmp_web restart: always depends_on: - mysql ports: - 80:80 - 443:443 networks: - lnmpnetworks: lnmp: name: lnmp_network driver: bridge
4.构建代码镜像的材料(以搭建wordpress为例)
Dockerfile内容:
FROM richarvey/nginx-php-fpmMAINTAINER nsd_anqixiang@163.com#用于版本控制ENV WORDPRESS_VERSION 4.9COPY index.html /var/wordpress-${WORDPRESS_VERSION}-zh_CN.tar.gz /var/+ecurrent_dir=$(cd `dirname $0` && pwd) #当前工作目录#Harbor仓库信息harbor_ip=172.16.38.202harbor_port=8010harbor_user=adminharbor_pwd=adminharbor_project=lnmpset -edocker login -u admin -p admin#构建镜像Build_Image(){ image_name=nginx-php-fpm image_tag=ver1.0_$(date "+%Y%m%d") image_path=${harbor_ip}:${harbor_port}/${harbor_project}/${image_name}:${image_tag} cd ${current_dir}/dockerfiles/nginx/ docker build -t ${image_path} . docker push ${image_path}}#更改docker-compose.yml文件Update_Compose(){ compose_module_file=${current_dir}/docker-compose-module.yml compose_file=${current_dir}/docker-compose.yml \cp ${compose_module_file} ${compose_file} #local base_tag=$1 #jenkins传进来的参数 new_tag=${image_path} base_tag=$(sed -n '/#tag#/p' ${compose_file} |awk -F'#' '{print $3}') #提取docker-compose.yml的镜像tag sed -ri "/#tag#/ s@^(.*)(#tag#)(.*)@\1${new_tag}@" ${compose_file} #替换为新的tag}######################主函数######################Build_ImageUpdate_Composeset +e
7.将整个项目上传到gitlab
cd dev_lnmpsudo git add .git commit -m "add c1"git push
三、Harbor创建项目
四、将公共镜像如mysql镜像上传到library项目(Jenkins机器操作)
1.配置docker信任仓库
sudo vim /etc/docker/daemon.json
"insecure-registries": ["172.16.38.202:8010"]
sudo systemctl restart docker
2.打标签
docker tag mysql:8.0.18 172.16.38.202:8010/library/mysql:8.0.18
3.上传镜像
docker login -u admin -p admindocker push 172.16.38.202:8010/library/mysql:8.0.18
4.仓库查看
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~