当前位置: 首页 > news >正文

江苏盐城网站建设住建局查询房产信息

江苏盐城网站建设,住建局查询房产信息,wordpress被挂木马,郑州销售网站目录 1 说明 2 CI/CD 2.1 部署方式一#xff1a;增量部署 2.1.1 目标服务器准备 2.2.2 Gitlab及Envoy脚本 2.2 部署方式二#xff1a;镜像构建与部署 2.2.1 推送到私有化容器仓库 准备工作 脚本 要点 2.2.2 推送到hub.docker.com 准备工作 脚本 3 参考#x…目录 1 说明 2 CI/CD 2.1 部署方式一增量部署 2.1.1 目标服务器准备  2.2.2 Gitlab及Envoy脚本 2.2 部署方式二镜像构建与部署 2.2.1 推送到私有化容器仓库 准备工作 脚本 要点 2.2.2 推送到hub.docker.com 准备工作 脚本 3 参考 1 说明 以一个laravel blog项目为例做dev分支的CI/CD实践结合laravel envoy工具做多个远程服务器部署分两种方式A. 增量部署 B.镜像构建与部署 服务器 SiteServerIP站点目录team1-prj2.dev.iahost001.dev.ia192.168.0.130/www/wwwroot/team1-prj2.dev.iateam1-prj2.dev.iahost002.dev.ia192.168.0.131/www/wwwroot/team1-prj2.dev.ia 2 CI/CD 2.1 部署方式一增量部署 通过Lavavel/Envoy和git拉取新版本文件进行部署 2.1.1 目标服务器准备  php8.2, 安装所需扩展务必在cli下测试是否正常, 有些被disable的functions要打开composer self-update 兼容php8.2使用Laravel/Envoy分发部署确保Envoy.blade.php是utf8格式文件站点目录结构 roothost001:/www/wwwroot/team1-prj2.dev.ia# tree -d -L 3 ./ ./ ├── current - /www/wwwroot/team1-prj2.dev.ia/releases/default ├── releases │   └── default │   ├── app │   ├── bootstrap │   ├── config │   ├── database │   ├── public │   ├── resources │   ├── routes │   ├── storage - /www/wwwroot/team1-prj2.dev.ia/storage │   ├── tests │   └── vendor └── storage├── app│   └── public├── framework│   ├── cache│   ├── sessions│   ├── testing│   └── views└── logs说明 team1-prj2.dev.ia应用目录team1-prj2.dev.ia/releases版本发布目录这里只设置了一个default目录也可根据需要做日期变量发布team1-prj2.dev.ia/current 链接到最新版本被nginx访问的站点目录路径 current - /www/wwwroot/team1-prj2.dev.ia/releases/default/ team1-prj2.dev.ia/storage 链接到最新版本的应用数据保存目录如日志缓存等 storage - /www/wwwroot/team1-prj2.dev.ia/storage team1-prj2.dev.ia/.dev .dev文件是运维人员建立的服务器定制环境文件不进入仓库链接到项目同名文件 .env - /www/wwwroot/team1-prj2.dev.ia/.env* team1-prj2.dev.ia/releases/default/.gitlab-ci.ymlgitlab 部署脚本team1-prj2.dev.ia/releases/default/Envoy.blade.phpenvoy 部署脚本 nginx配置 server {listen 80;server_name team1-prj2.dev.ia;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/team1-prj2.dev.ia/current/public;#CERT-APPLY-CHECK--START# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除include /www/server/panel/vhost/nginx/well-known/team1-prj2.dev.ia.conf;#CERT-APPLY-CHECK--END#SSL-START SSL相关配置请勿删除或修改下一行带注释的404规则#error_page 404/404.html;#SSL-END#ERROR-PAGE-START 错误页配置可以注释、删除或修改#error_page 404 /404.html;#error_page 502 /502.html;#ERROR-PAGE-END#PHP-INFO-START PHP引用配置可以注释或修改include enable-php-82.conf;#PHP-INFO-END#REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效include /www/server/panel/vhost/rewrite/team1-prj2.dev.ia.conf;#REWRITE-END#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md){return 404;}#一键申请SSL证书验证目录相关设置location ~ \.well-known{allow all;}#禁止在证书验证目录放入敏感文件if ( $uri ~ ^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$ ) {return 403;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log /dev/null;access_log /dev/null;}location ~ .*\.(js|css)?${expires 12h;error_log /dev/null;access_log /dev/null;}location / {try_files $uri $uri/ /index.php?$query_string;}access_log /www/wwwlogs/team1-prj2.dev.ia.log;error_log /www/wwwlogs/team1-prj2.dev.ia.error.log; } 2.2.2 Gitlab及Envoy脚本 .gitlab-ci.yml # default: # image: edbizarro/gitlab-ci-pipeline-php:7.4 #default: # image: bennybi/php8.2 # image: bennybi/php7.4stages:- test- deploy.init_ssh: init_ssh |which ssh-agent || ( apt-get update -y apt-get install openssh-client -y )eval $(ssh-agent -s)echo $SSH_PRIVATE_KEY | tr -d \r | ssh-add - /dev/nullmkdir -p ~/.sshchmod 700 ~/.ssh[[ -f /.dockerenv ]] echo -e Host *\n\tStrictHostKeyChecking no\n\n ~/.ssh/configcache:key: ${CI_COMMIT_REF_SLUG}paths:- vendor/unit_test:stage: testtags:- phpscript:- cp .env.test .env- composer install- composer global require laravel/envoy- php artisan key:generate- php artisan migrate- vendor/bin/phpunitdeploy_dev:stage: deploytags:- phpenvironment:name: devurl: http://team1-prj2.dev.iascript:- *init_ssh- vendor/bin/envoy run deploy --branch$CI_COMMIT_BRANCH --commit$CI_COMMIT_SHArules:- if: $CI_COMMIT_BRANCH devdeploy_live:stage: deploytags:- phpscript:- *init_ssh- vendor/bin/envoy run deploy --commit$CI_COMMIT_SHAenvironment:name: liveurl: http://team1-prj2.dev.iawhen: manualrules:- if: $CI_COMMIT_BRANCH liveEnvoy.blade.php servers([local deployerhost001.dev.ia,staging deployerhost002.dev.ia])setup$repository githost001.dev.ia:dev1/team1-prj2.git;$releases_dir /www/wwwroot/team1-prj2.dev.ia/releases;$app_dir /www/wwwroot/team1-prj2.dev.ia;$release default;$new_release_dir $releases_dir ./. $release;$user get_current_user(); endsetupstory(deploy, [on [local,staging]])sync_repositoryrun_composerupdate_symlinks endstorytask(sync_repository)echo Current User: {{$user}}, branch:{{$branch}}, commit:{{$commit}}if [ -d {{$new_release_dir}} ]; thenecho Pulling repositorycd {{ $new_release_dir }}git checkout {{ $branch }}git fetchgit reset --hard HEADgit merge origin/{{ $branch }}elseecho Cloning repository[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}git clone --branch {{ $branch }} --single-branch --depth 1 {{ $repository }} {{ $new_release_dir }}cd {{ $new_release_dir }}git reset --hard {{ $commit }}git config --global --add safe.directory *fi endtasktask(run_composer)echo Starting deployment ({{ $release }})cd {{ $new_release_dir }}composer install --prefer-dist --no-scripts -q -o endtasktask(update_symlinks)if [ ! -d {{ $app_dir }}/current ]; thenecho Linking storage directory{{-- rm -rf {{ $new_release_dir }}/storage --}}mv {{ $new_release_dir }}/storage {{ $app_dir }}ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storageecho Linking .env fileln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.envecho Linking current releaseln -nfs {{ $new_release_dir }} {{ $app_dir }}/currentchmod 775 -Rf {{ $releases_dir }}fichmod 775 -Rf {{ $new_release_dir }}/storage{{-- chown deployer:www -Rf {{ $new_release_dir }}/.git --}} endtask2.2 部署方式二镜像构建与部署 2.2.1 推送到私有化容器仓库 准备工作 -  新建项目team1-prj1初始化git 仓库为http://host001.dev.ia:18181/dev1/team1-prj1.git -  建好容器仓库见前文相关部分 -  需要在Admin Area-CI/CD-Variables添加docker访问用户变量 $LOCAL_REGISTRY_LOGIN your docker username $LOCAL_REGISTRY_PASSWORD 脚本 项目中添加Dockerfile 文件这里用到的原型镜像是我之前定制的php8.2 # Set the base image for subsequent instructions FROM bennybi/php8.2:latest# Update packages RUN apt-get update# Install PHP and composer dependencies # RUN apt-get install -qq git curl libmcrypt-dev libjpeg-dev libpng-dev libfreetype6-dev libbz2-dev# Clear out the local repository of retrieved package files RUN apt-get clean# Install needed extensions # Here you can install any other extension that you need during the test and deployment process # RUN docker-php-ext-install mcrypt pdo_mysql zip# Install Composer RUN curl --silent --show-error https://getcomposer.org/installer | php -- --install-dir/usr/local/bin --filenamecomposer# Install Laravel Envoy RUN composer global require laravel/envoy~1.0# Laravel? Add your user RUN groupadd -g 1000 www RUN useradd -u 1000 -ms /bin/bash -g www www# Copy existing application directory contents COPY . /var/www# Copy existing application directory permissions COPY --chownwww:www . /var/www# Change current user to www USER www# Expose port 9000 and start php-fpm server EXPOSE 9000 CMD [php-fpm].gitlab-ci.yml default:image: docker:19.03.8services:- mysql:5.7before_script:- docker infovariables:MYSQL_DATABASE: testMYSQL_ROOT_PASSWORD: fa843c707ce26702DB_HOST: host001.dev.iaDB_USERNAME: developerstages:- test- build# - deployunit_test:stage: testtags:- phpscript:- cp .env.test .env- composer install- php artisan key:generate- php artisan migrate- vendor/bin/phpunitbuild_image:stage: buildvariables:REGISTRY_URL: http://host001.dev.ia:5050DOCKER_IMAGE_TAG: host001.dev.ia:5050/dev1/team1-prj1tags:- phpscript:- docker login ${REGISTRY_URL} -u $LOCAL_REGISTRY_LOGIN -p $LOCAL_REGISTRY_PASSWORD- docker build --output typeregistry,oci-mediatypesfalse --cache-from ${DOCKER_IMAGE_TAG} -t ${DOCKER_IMAGE_TAG} --push --provenancefalse .# - docker push ${DOCKER_IMAGE_TAG}:latest- docker push ${DOCKER_IMAGE_TAG}rules:- if: $CI_COMMIT_BRANCH dev# deploy_dev: # stage: deploy # tags: # - php # script: # - which ssh-agent || ( apt-get update -y apt-get install openssh-client -y ) # - eval $(ssh-agent -s) # - ssh-add (echo $SSH_PRIVATE_KEY) # - mkdir -p ~/.ssh # - [[ -f /.dockerenv ]] echo -e Host *\n\tStrictHostKeyChecking no\n\n ~/.ssh/config # # - ~/.composer/vendor/bin/envoy run deploy --commit$CI_COMMIT_SHA # environment: # name: dev # url: http://team1-prj1.dev.ia # when: manual # rules: # - if: $CI_COMMIT_BRANCH dev要点 - 注意build时所需的参数缺少会诱发错误 “Invalid tag: missing manifest digest” We used the buildx flag “–output typeregistry,oci-mediatypesfalse” to generate a Docker v2.2 manifest list.  We could set the value to “true” and generate an OCI manifest index, but the GitLab UI will incorrectly display “Invalid tag: missing manifest digest”.  推送结果图示 2.2.2 推送到hub.docker.com 准备工作 -  新建项目team1-prj1初始化git 仓库为http://host001.dev.ia:18181/dev1/team1-prj1.git -  构建的镜像将push到hub.docker.com因此需要在Admin Area-CI/CD-Variables添加docker访问用户变量 $DOCKER_LOGIN your docker username $DOCKER_PASSWORD 脚本 Dockerfile  同上 ... .gitlab-ci.yml default:image: docker:19.03.8services:- mysql:5.7before_script:- docker infovariables:MYSQL_DATABASE: testMYSQL_ROOT_PASSWORD: fa843c707ce26702DB_HOST: host001.dev.iaDB_USERNAME: developerstages:- test- build# - deployunit_test:stage: testtags:- phpscript:- cp .env.test .env- composer install- php artisan key:generate- php artisan migrate- vendor/bin/phpunitbuild_image:stage: buildvariables:DOCKER_IMAGE_TAG: bennybi/team1-prj1tags:- phpscript:- docker build --cache-from ${DOCKER_IMAGE_TAG} -t ${DOCKER_IMAGE_TAG} .- docker login --username $DOCKER_LOGIN --password $DOCKER_PASSWORD# - docker run my-docker-image /script/to/run/tests- docker push ${DOCKER_IMAGE_TAG}:latestrules:- if: $CI_COMMIT_BRANCH dev# deploy_dev: # stage: deploy # tags: # - php # script: # - which ssh-agent || ( apt-get update -y apt-get install openssh-client -y ) # - eval $(ssh-agent -s) # - ssh-add (echo $SSH_PRIVATE_KEY) # - mkdir -p ~/.ssh # - [[ -f /.dockerenv ]] echo -e Host *\n\tStrictHostKeyChecking no\n\n ~/.ssh/config # # - ~/.composer/vendor/bin/envoy run deploy --commit$CI_COMMIT_SHA # environment: # name: dev # url: http://team1-prj1.dev.ia # when: manual # rules: # - if: $CI_COMMIT_BRANCH dev3 参考 - GitLab: automated build and publish of multi-platform container image with GitLab pipeline | Fabian Lee : Software Engineer - https://jaumemule.medium.com/build-a-php8-0-fpm-gitlab-ci-cd-application-docker-google-cloud-5f2868e8370 - https://docs.gitlab.com/ee/ci/docker/using_docker_build.html - https://github.com/papertank/envoy-deploy/blob/master/readme.md - https://warrickbayman.medium.com/zero-downtime-laravel-deployments-with-envoy-version-2-227c8259e31c - Test and deploy Laravel applications with GitLab CI/CD and Envoy | GitLab - GitLab CI/CD examples | GitLab - 使用GitLab Runner为基于Laravel的PHP项目进行部署  - GitLab CI/CD for Beginners [FREE Course] - DEV Community
http://www.hkea.cn/news/14290083/

相关文章:

  • 做职业测评的网站注册安全工程师条件
  • 建站宝盒合作wordpress怎么看免费主题
  • 网站建设需要几十万wordpress_广告主题
  • 老版建设银行网站网站建设公司swot分析
  • 西安专业做网站的公司哪家好暴雪战网怎么改国际服
  • 光华路网站建设个人博客网站怎么建立
  • 网站优化怎么做ppt网站内容更新用什么
  • 拼多多网站首页泉州网站seo
  • 快速网站推广鹤壁网站建设
  • 树莓派做的网站大学网站建设排名
  • 佛山外贸网站建设特色手机商城官方网站
  • 商城网站设计制作中小企业网站建设 网络营销
  • 做网站运用的软件asp网站上哪做
  • 免费素材网站哪个最好企业网站建设协议范本
  • 韩城市住房和城乡建设局网站WordPress增加文章来源插件
  • 建设一个网站的基本成本开发微信小程序步骤
  • 单仁网站建设为某企业策划一次网络营销活动
  • 关于建设网站的报告书微信网站如何制作软件
  • 泉州住房城乡建设局网站猎聘网招聘官网app
  • 网站运营专员做什么wordpress 函数 文件大小
  • 网站管理系统开发的i深圳谁开发的
  • 电子商务网站模块室内装修图片效果图
  • 西安网站制作维护网站开发策划个人简历
  • 乐清网站只做西安网页设计设计培训
  • wdlinux 默认网站海南房产网站建设
  • 如何做电商网站视频公路投资建设有限公司网站
  • 网站伪静态是什么意思一键建站网站
  • 河北网站制作报价广告设计与制作专升本考试科目
  • 百度做网站和推广效果怎么样创意响应式网站建设
  • html5网站素材开发平台开发工具