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

网站建设模式化的体现厦门网站推广¥做下拉去118cr

网站建设模式化的体现,厦门网站推广¥做下拉去118cr,响应式框架,腾讯云服务器多少钱一个月基于 JenkinsDockerGit 的简单 CI 流程实践#xff08;上#xff09; 在如今的互联网时代#xff0c;随着软件开发复杂度的不断提高#xff0c;软件开发和发布管理也越来越重要。目前已经形成一套标准的流程#xff0c;最重要的组成部分就是 持续集成 及 持续交付、部署。… 基于 JenkinsDockerGit 的简单 CI 流程实践上 在如今的互联网时代随着软件开发复杂度的不断提高软件开发和发布管理也越来越重要。目前已经形成一套标准的流程最重要的组成部分就是 持续集成 及 持续交付、部署。在此我们在京东云上以一个案例简单实践下 CI 流程。 1.相关概念及工具介绍 1.1 CI/CD 持续集成Continuous IntegrationCI它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支从而导致相互冲突的问题。 持续交付Continuous DeliveryCD)通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库如 GitHub 或容器注册表然后 由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。 持续部署Continuous DeploymentCD这是另一种 “CD”指的是 自动将开发人员的更改从存储库发布到生产环境以供客户使用。它主要为了解决因手动流程降低应用交付速度从而使运维团队超负荷的问题。 1.2 Jenkins Jenkins 是一个开源软件项目是基于 Java 开发的一种 持续集成 工具用于监控持续重复的工作旨在提供一个开放易用的软件平台使软件的持续集成变成可能。 1.3 Docker Docker 是一个开源的应用容器引擎让开发者可以打包他们的应用以及依赖包到一个可移植的容器中然后发布到任何流行的 Linux 机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口。 1.4 Git Git 是一个开源的分布式版本控制系统提供代码仓库可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 L i n u s T o r v a l d s Linus\ Torvalds Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 2.前期准备 2.1 CI 流程设计图 2.2 工作流程 开发人员提交代码到 Git 版本仓库。Jenkins 人工/定时触发项目构建。Jenkins 拉取代码、代码编译、打包镜像、推送到镜像仓库。Jenkins 在 Docker 主机创建容器并发布。 2.3 主机环境规划 主机名称介绍公网内网docker-jenkins项目构建拉取代码、代码编译、打包镜像、推送镜像到镜像仓库116.196.85.17410.0.0.20docker-git代码仓库116.196.86.20710.0.0.22docker-harbor私有镜像仓库116.196.88.9110.0.0.21buildimagebuild docker 镜像116.196.89.13910.0.0.4 3.主机创建 在京东云控制台创建4台云主机地址https://console.jdcloud.com/ 配置如下购买时数量直接选择 4 4 4购买完成后再修改名称分别为docker-jenkins、docker-git、docker-harbor、buildimage。 创建、修改名称后如下 4.环境配置 4.1 云主机 docker-git 1修改主机名为docker-git [root112 ~]# hostnamectl set-hostname docker-git [root112 ~]# hostname docker-git [root112 ~]# logout [rootdocker-git ~]#CtrlD 退出后重新登陆生效。 2部署 Git 代码版本仓库 安装 [rootdocker-git ~]# yum install git -y配置 git 用户 [rootdocker-git ~]# useradd git [rootdocker-git ~]# passwd git创建库 [rootdocker-git ~]# su git [gitdocker-git root]$ cd [gitdocker-git ~]$ mkdir tomcat-java-demo.git [gitdocker-git ~]$ cd tomcat-java-demo.git/ [gitdocker-git tomcat-java-demo.git]$ git --bare init Initialized empty Git repository in /home/git/tomcat-java-demo.git/ [gitdocker-git tomcat-java-demo.git]$ ls branches config description HEAD hooks info objects refs [gitdocker-git tomcat-java-demo.git]$ 4.2 云主机 docker-jenkins 1修改主机名为docker-jenkins [root113 ~]# hostnamectl set-hostname docker-jenkins [root113 ~]# hostname docker-jenkins [root113 ~]# logout [rootdocker-jenkins ~]#CtrlD 退出后重新登陆生效。 2jenkins 环境部署 部署 jdk 环境及 maven [rootdocker-jenkins tomcat-java-demo]# cd [rootdocker-jenkins ~]# mkdir tools [rootdocker-jenkins ~]# cd tools [rootdocker-jenkins tools]# wget https://pocenv-hcc.oss.cn-north-1.jcloudcs.com/jdk-8u191-linux-x64.tar.gz;tar zxf jdk-8u191-linux-x64.tar.gz;mv jdk1.8.0_191/ /usr/local/;ln -s /usr/local/jdk1.8.0_191/ /usr/local/jdk; [rootdocker-jenkins tools]# vim /etc/profile ######## JDK ####### JAVA_HOME/usr/local/jdk1.8.0_191 JAVA_BIN/usr/local/jdk1.8.0_191/bin PATH$PATH:$JAVA_BIN CLASSPATH$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH [rootdocker-jenkins tools]# source /etc/profile [rootdocker-jenkins tools]# java -version java version 1.8.0_191 Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) [rootdocker-jenkins tools]# wget https://pocenv-hcc.oss.cn-north-1.jcloudcs.com/apache-maven-3.5.0-bin.tar.gz;tar zxf apache-maven-3.5.0-bin.tar.gz;mv apache-maven-3.5.0 /usr/local/maven [rootdocker-jenkins tools]# 安装 Jenkins下载 Tomcat 二进制包将 war 包移动到 webapps 下即可。 [rootdocker-jenkins tools]# wget https://pocenv-hcc.oss.cn-north-1.jcloudcs.com/jenkins.war [rootdocker-jenkins tools]# wget https://pocenv-hcc.oss.cn-north-1.jcloudcs.com/apache-tomcat-8.5.38.tar.gz [rootdocker-jenkins tools]# tar zxf apache-tomcat-8.5.38.tar.gz [rootdocker-jenkins tools]# ls apache-maven-3.5.0-bin.tar.gz apache-tomcat-8.5.38 apache-tomcat-8.5.38.tar.gz jdk-8u191-linux-x64.tar.gz jenkins.war [rootdocker-jenkins tools]# mv apache-tomcat-8.5.38 /usr/local/tomcat-jenkins [rootdocker-jenkins tools]# ls /usr/local/tomcat-jenkins/webapps/ docs examples host-manager manager ROOT [rootdocker-jenkins tools]# rm -rf /usr/local/tomcat-jenkins/webapps/* [rootdocker-jenkins tools]# mv jenkins.war /usr/local/tomcat-jenkins/webapps/ROOT.war [rootdocker-jenkins tools]# ll /usr/local/tomcat-jenkins/webapps/ total 75520 -rw-r--r--. 1 root root 77330344 Mar 15 00:55 ROOT.war [rootdocker-jenkins tools]# cd /usr/local/tomcat-jenkins/bin/ [rootdocker-jenkins bin]# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat-jenkins Using CATALINA_HOME: /usr/local/tomcat-jenkins Using CATALINA_TMPDIR: /usr/local/tomcat-jenkins/temp Using JRE_HOME: /usr/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat-jenkins/bin/bootstrap.jar:/usr/local/tomcat-jenkins/bin/tomcat-juli.jar Tomcat started. [rootdocker-jenkins bin]#启动后浏览器访问docker-jenkinshttp://Jenkins主机公网IP:8080/按提示输入密码登录即可。 在 /root/.jenkins/secrets/initialAdminPassword 文件里查看密码后填入即可。 按照你自己的需求安装插件。 设置管理员。 开始使用 Jenkins。 3安装 DOCKER CEDocker 的社区版 安装所需包 yum install -y yum-utils device-mapper-persistent-data lvm2 -y设置稳定存储库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -y安装 DOCKER CE这一步比较慢耐心等会儿 yum install docker-ce docker-ce-cli containerd.io -y启动 Docker systemctl start docker4.3 云主机 docker-harbor 1修改主机名为docker-harbor [rootc-dfjgjesgqe ~]# hostnamectl set-hostname docker-harbor [rootc-dfjgjesgqe ~]# hostname docker-harborCtrlD 退出后重新登陆生效。 2企业级 Harbor 镜像仓库部署 Habor 是由 VMWare 公司开源的容器镜像仓库。事实上Habor 是在 Docker Registry 上进行了相应的企业级扩展从而获得了更加广泛的应用这些新的企业级特性包括管理用户界面基于角色的访问控制AD/LDAP 集成 以及 审计日志 等足以满足基本企业需求。 Harbor 各组件介绍 组件功能harbor-adminserver配置管理中心harbor-dbMySQL 数据库harbor-jobservice负责镜像复制harbor-log记录操作日志harbor-uiWeb 管理页面和 APInginx前端代理负责前端页面和镜像上传 / 下载转发redis会话registry镜像存储 Harbor 安装有 3 3 3 种方式 在线安装从 Docker Hub 下载 Harbor 相关镜像因此安装软件包非常小。离线安装安装包包含部署的相关镜像因此安装包比较大。OVA 安装程序当用户具有 vCenter 环境时使用此安装程序在部署 OVA 后启动 Harb。 在此我们使用第二种离线安装方式来搭建基于 https 访问的 harbor 镜像仓库。 1下载并解压离线安装包 harbor 离线包下载地址https://github.com/goharbor/harbor/releases 为方便下载我在京东云对象存储上也存了一份可直接 wgethttps://pocenv-hcc.oss.cn-north-1.jcloudcs.com/harbor-offline-installer-v1.7.4.tgz [rootdocker-harbor ~]# yum install vim wget openssl -y [rootdocker-harbor ~]# wget https://pocenv-hcc.oss.cn-north-1.jcloudcs.com/harbor-offline-installer-v1.7.4.tgz [rootdocker-harbor ~]# tar zxf harbor-offline-installer-v1.7.4.tgz [rootdocker-harbor ~]# cd harbor [rootdocker-harbor harbor]# ll total 570744 drwxr-xr-x 3 root root 23 Apr 1 15:05 common -rw-r--r-- 1 root root 939 Mar 4 15:33 docker-compose.chartmuseum.yml -rw-r--r-- 1 root root 975 Mar 4 15:33 docker-compose.clair.yml -rw-r--r-- 1 root root 1434 Mar 4 15:33 docker-compose.notary.yml -rw-r--r-- 1 root root 5608 Mar 4 15:33 docker-compose.yml -rw-r--r-- 1 root root 8033 Mar 4 15:33 harbor.cfg -rw-r--r-- 1 root root 583086399 Mar 4 15:33 harbor.v1.7.4.tar.gz -rwxr-xr-x 1 root root 5739 Mar 4 15:33 install.sh -rw-r--r-- 1 root root 11347 Mar 4 15:33 LICENSE -rw-r--r-- 1 root root 1263409 Mar 4 15:33 open_source_license -rwxr-xr-x 1 root root 36337 Mar 4 15:33 prepare2自签 http 证书 获取权威认证证书。 [rootdocker-harbor harbor]# mkdir ssl [rootdocker-harbor harbor]# cd ssl [rootdocker-harbor ssl]# openssl genrsa -out ca.key 4096 Generating RSA private key, 4096 bit long modulus ................................... ..................................................................................................................................... e is 65537 (0x10001) [rootdocker-harbor ssl]# openssl req -x509 -new -nodes -sha512 -days 3650 -subj /CZH/STShangHai/LShangHai/Oexample/OUPersonal/CNreg.marin.com -key ca.key -out ca.crt [rootdocker-harbor ssl]# ll total 8 -rw-r--r-- 1 root root 2037 Apr 4 18:41 ca.crt -rw-r--r-- 1 root root 3243 Apr 4 18:41 ca.key获取服务端证书。 1.Create your own Private Key: [rootdocker-harbor ssl]# openssl genrsa -out reg.marin.com.key 4096 Generating RSA private key, 4096 bit long modulus ............................................. ............................................................................................................................................................................................................................ e is 65537 (0x10001) [rootdocker-harbor ssl]# openssl req -sha512 -new -subj /CZH/STShangHai/LShangHai/Oexample/OUPersonal/CNreg.marin.com -key reg.marin.com.key -out reg.marin.com.csr [rootdocker-harbor ssl]# ll total 16 -rw-r--r-- 1 root root 2037 Apr 4 18:41 ca.crt -rw-r--r-- 1 root root 3243 Apr 4 18:41 ca.key -rw-r--r-- 1 root root 1708 Apr 4 18:42 reg.marin.com.csr -rw-r--r-- 1 root root 3243 Apr 4 18:42 reg.marin.com.key [rootdocker-harbor ssl]# cat v3.ext -EOFauthorityKeyIdentifierkeyid,issuerbasicConstraintsCA:FALSEkeyUsage digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentextendedKeyUsage serverAuthsubjectAltName alt_names[alt_names]DNS.1reg.marin.comDNS.2reg.marinDNS.3marinEOF [rootdocker-harbor ssl]# openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in reg.marin.com.csr -out reg.marin.com.crt Signature ok subject/CZH/STShangHai/LShangHai/Oexample/OUPersonal/CNreg.marin.com Getting CA Private Key [rootdocker-harbor ssl]# ll total 28 -rw-r--r-- 1 root root 2037 Apr 4 18:41 ca.crt -rw-r--r-- 1 root root 3243 Apr 4 18:41 ca.key -rw-r--r-- 1 root root 17 Apr 4 18:44 ca.srl -rw-r--r-- 1 root root 2098 Apr 4 18:44 reg.marin.com.crt -rw-r--r-- 1 root root 1708 Apr 4 18:42 reg.marin.com.csr -rw-r--r-- 1 root root 3243 Apr 4 18:42 reg.marin.com.key -rw-r--r-- 1 root root 260 Apr 4 18:43 v3.ext修改 harbor 配置以及为 Docker 配置服务端证书key 和 CA。 [rootdocker-harbor ssl]# cd .. [rootdocker-harbor harbor]# vim harbor.cfg ...... hostname reg.marin.com ui_url_protocol https ssl_cert ./ssl/reg.marin.com.crt ssl_cert_key ./ssl/reg.marin.com.key harbor_admin_password 123456 ......密码也可以不修改默认登录用户admin密码Harbor12345。 Docker 守护进程会将 .crt 文件解释为 CA 证书将 .cert 文件解释为客户机证书先将 .crt 文件转换一份 .cert 文件。 [rootdocker-harbor harbor]# cd ssl/ [rootdocker-harbor ssl]# mkdir -p /etc/docker/certs.d/reg.marin.com [rootdocker-harbor ssl]# openssl x509 -inform PEM -in reg.marin.com.crt -out reg.marin.com.cert [rootdocker-harbor ssl]# cp reg.marin.com.cert reg.marin.com.key ca.crt /etc/docker/certs.d/reg.marin.com/到此自签成功 3安装 DOCKER CE 安装所需包 yum install -y yum-utils device-mapper-persistent-data lvm2 -y设置稳定存储库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -y安装 DOCKER CE这一步比较慢耐心等会儿 yum install docker-ce docker-ce-cli containerd.io -y启动 Docker systemctl start docker通过运行 hello-world 镜像验证是否正确安装了 Docker CE docker run hello-world4初始化及安装验证 初始化安装 [rootdocker-harbor ssl]# [rootdocker-harbor ssl]# cd .. [rootdocker-harbor harbor]# ./prepare Generated and saved secret to file: /data/secretkey Generated configuration file: ./common/config/nginx/nginx.conf Generated configuration file: ./common/config/adminserver/env Generated configuration file: ./common/config/core/env Generated configuration file: ./common/config/registry/config.yml Generated configuration file: ./common/config/db/env Generated configuration file: ./common/config/jobservice/env Generated configuration file: ./common/config/jobservice/config.yml Generated configuration file: ./common/config/log/logrotate.conf Generated configuration file: ./common/config/registryctl/env Generated configuration file: ./common/config/core/app.conf Generated certificate, key file: ./common/config/core/private_key.pem, cert file: ./common/config/registry/root.crt The configuration files are ready, please use docker-compose to start the service.执行 install.sh 脚本安装 harbor 仓库。 注意在执行 install.sh 脚本之前先检查两个问题 docker-compose 是否安装否则在运行 install.sh 时会失败报错 “✖ Need to install docker-compose(1.7.1) by yourself first and run this script again.”docker 服务是否正常运行否则在运行 install.sh 会失败报错 “Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?” 安装 Compose。 运行此命令以下载 Docker Compose 的当前稳定版本 curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose对二进制文件应用可执行权限 chmod x /usr/local/bin/docker-compose执行 install.sh 脚本安装 harbor 仓库 [rootdocker-harbor harbor]# ./install.sh[Step 0]: checking installation environment ...Note: docker version: 18.09.4Note: docker-compose version: 1.24.0[Step 1]: loading Harbor images ... bffe2a0fec66: Loading layer [] 33.22MB/33.22MB 38e174bed467: Loading layer [] 8.964MB/8.964MB 427e4936ae66: Loading layer [] 35.77MB/35.77MB 3bfd5214250a: Loading layer [] 2.048kB/2.048kB f30df776629d: Loading layer [] 3.072kB/3.072kB f87afad43f43: Loading layer [] 22.8MB/22.8MB ...... 953717aa0afc: Loading layer [] 22.8MB/22.8MB Loaded image: goharbor/registry-photon:v2.6.2-v1.7.4[Step 2]: preparing environment ... Clearing the configuration file: ./common/config/adminserver/env Clearing the configuration file: ./common/config/core/env Clearing the configuration file: ./common/config/core/app.conf Clearing the configuration file: ./common/config/core/private_key.pem Clearing the configuration file: ./common/config/db/env ...... Generated certificate, key file: ./common/config/core/private_key.pem, cert file: ./common/config/registry/root.crt The configuration files are ready, please use docker-compose to start the service.[Step 3]: checking existing instance of Harbor ...[Step 4]: starting Harbor ... Creating network harbor_harbor with the default driver Creating harbor-log ... done Creating redis ... done Creating registryctl ... done Creating harbor-db ... done Creating harbor-adminserver ... done Creating registry ... done Creating harbor-core ... done Creating harbor-jobservice ... done Creating harbor-portal ... done Creating nginx ... done✔ ----Harbor has been installed and started successfully.----Now you should be able to visit the admin portal at https://reg.marin.com. For more details, please visit https://github.com/goharbor/harbor .浏览器访问验证。 浏览器访问要做域名解析在本地 hostsC:\Windows\System32\drivers\etc\hosts文件中加入116.196.88.91 reg.marin.com。 访问https://reg.marin.com并登录。 登录后界面基本操作 新建项目 test。 新建用户 marin。 将用户 marin 设置为 test 项目管理员。
http://www.sadfv.cn/news/366961/

相关文章:

  • 龙华网站建设销售员鄱阳有做百度网站的
  • 苏州网站建设机构研发网站要多久
  • 合肥seo招聘排名优化网站
  • 中跃建设集团网站网站内容怎么选择
  • 网站内容设计要求做分销网站好吗
  • 网站联盟广告永久免费云服务器linux
  • 帮人做网站wordpress上传主机
  • 营销型网站的好处有没有什么做地堆的网站
  • 网站的ftp管理权限是什么意思互联网建站是什么
  • 哪个公司做视频网站东莞品牌网站设计
  • 做网站的案例定制网站建设多少钱
  • 查询网站备案号如何修改一个网站的后台登陆系统
  • 化工外贸网站建设新媒体运营师证书
  • 漳州企业网站建设制作dedecms 调用 两个网站
  • 互联网公司网站建设ppt模板下载网站建设推进会讲话稿
  • 朝阳专业做网站网页制作代码简单
  • 上海住房城乡建设网站证件查询深圳做网站的网络公司
  • 建设网站方法有哪些内容服务好的专业建站公司
  • 网站建设公司长沙广东做陶瓷的网站
  • 网站建设需求列表滁州百度seo
  • 旅游电子商务网站网站开发要什么
  • 成都哪个公司做网站wordpress案例制作
  • html手机网站模板下载小程序是什么时候出来的
  • 个人网站设计作品展示中国新闻社是国企还是私企
  • 有关网页设计与网站建设的文章临沂网站制作价格
  • 专业做网站安全的sine安不用代码做网站
  • 企业做网站建设的好处网站规划教学设计
  • 合肥网站排名优化公司有什么网站帮做邀请函设计的
  • 收到一张网站服务费怎么做凭证免费无版权图片素材网站
  • 健康资讯网源码 养生保健网站源码(织梦dedecms5.7做网站开发要注册