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

专业网站建设公司电话建设网站模板

专业网站建设公司电话,建设网站模板,宜兴做网站公司,wordpress勾子之前是jenkins发现gitlab代码更新了就自动获取直接部署到服务器 现在是jenkins自动获取Code之后打包成镜像上传到仓库然后通知docker去拉取更新的镜像 分析 旧∶ 代码发布环境提前准备#xff0c;以主机为颗粒度静态 新: 代码发布环境多套#xff0c;以容器为颗粒度编译 … 之前是jenkins发现gitlab代码更新了就自动获取直接部署到服务器 现在是jenkins自动获取Code之后打包成镜像上传到仓库然后通知docker去拉取更新的镜像 分析 旧∶ 代码发布环境提前准备以主机为颗粒度·静态 新: 代码发布环境多套以容器为颗粒度·编译   gitgitlabjenkinstomcatmavenharbordocker 工作流程 1.开发人员提交代码至GitLab代码仓库 2. jenkins手动或自动触发项目构建 3.jenkins 拉取代码、代码编码、打包镜像、推送镜像至镜像仓库 4. Jenkins在Docker主机创建容器并发布应用   一、环境准备 主机规划 准备5台主机 修改主机名称、ip、域名解析/etc/hosts添加五台主机ip  主机名称 关闭防火墙和selinux  查看时间同步服务每小时同步一次时间是通过脚本实现的 如果没有时间同步服务器可以直接使用ntpdate 百度一个ntp服务器的ip 每小时运行一次ntpdate 命令 二、应用软件安装 2.1 jdk 通过ssh远程管理工具把安装包上传到服务器 在jenkins服务器上解压jdk安装包并配置环境变量 vim /etc/profile   添加环境变量   tail -2  查看日志的最后两行 最后source /etc/profile  配置立即生效  再查看jdk的版本 2.2 jenkins 配置官方yum源参考官方文档如果yum源中的gpgcheck1 开启了检测就必须import导入密钥 yum -y install jenkins 修改jenkins使用java vim /etc/rc.d/init.d/jenkins  83行添加一行 /usr/local/jdk/bin/java vim /etc/sysconfig/jenkins   19行加上/usr/local/jdk/bin/java 设置开机自启 chkconfig --list  列出7种启动方式 只能使用chkconfig jenkins on 设置  enable不行 启动jenkins systemclt start jenkins   再访问jenkins服务的ip8080端口 直接cat查看管理员密码之后复制粘贴 选择自动安装插件如果网络不行一定要一次性安装好离线安装会报错 最后用admin登录就行  密码就是开始复制粘贴的那个建议修改 2.3 git 开发人员主机安装git 下载项目及上传代码至代码仓库 yum install git -y 2.4 gitlab 在gitlab服务器配置gitlab的清华源 安装gitlab到gitlab服务器 yum install gitlab-ce -y 修改gitlab配置文件 在13行把http//改成自己gitlab服务器的ip地址 vim /etc/gitlab/gitlab.rb 初始化并启动gitlab 访问gitlab的web页面 2.5 maven Maven是一个java项目管理工具它包含了一个对象模型。一组标准集合一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Maven的核心功能是合理叙述项目间的依赖关系通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包 maven的tar包可以去apache官网下载 jenkins里面也需要安装git来获取项目代码 yum -y install jenkins 2.6 docker docker-ce需要通过官方文档安装到jenkins服务器、harbor服务器和web服务器 都需要修改删除docker.service文件 添加daemon.json文件之前千万注意必须开启docker,不然无法保持修改 2.7 harbor 最好systemctl restart docker 重启docker  再验证harbor是否可用 docker login ip 密码Harbor12345 如果需要在harbor-server主机上打包容器应用镜像并上传需要修改docker daemon 本例修改请参照docker部署部分 docker安装直接复制粘贴官方文档 修改daemon.json文件配置harbor为docker的本地仓库 主要目的是为了jenkins可以自动获取harbor仓库打包的应用镜像发布给web服务器 如果不配置daemon.json文件web服务器是找不到harbor仓库的 2.8 web 服务器 安装docker-ce参考官方文档 三、配置ssh免密登录 3.1 添加开发者主机密钥到gitlab仓库 生成密钥对公钥是加密的私钥是解密验证的 添加公钥到gitlab仓库 3.2 添加jenkins服务器的公钥和凭据到gitlab 添加公钥很简单就是在服务生成密钥对ssh-keygen -t rsa /root/.ssh/id_rsa -C 标识 -P 复制jenkins服务器公钥粘贴到gitlab 主要是添加凭据访问gitlab,凭据就是私钥。 因为jenkins不能通过公钥访问gitlab,只能通过凭据或者用户名密码等 点击凭据之后点击系统再点击全局凭据 复制jenkins服务器的私钥到jenkins作为凭据访问gitlab 3.3 配置jenkins使用docker 验证系统中是否有jenkins用户发现有但是无法登录系统 验证系统中是否有docker用户及用户组 添加jenkins用户到docker用户组 就是给docker用户组添加一个jenkins附加组 3.4 安装jenkins插件 需要安装的插件 ssh用于jenkins-server对web-server进行操作 git parameter参数用于git版本提交进行参数构建 gitlab用于jenkins-server拉取项目 gitlab hook用于项目自动构建 maven integration用于编译java项目 安装ssh点击jenkins系统管理里面的插件管理然后搜索可用的插件 ssh 勾选之后点击直接安装就行 安装git parameter插件 安装gitlab和gitlab hook 插件 按照maven integration(集成) 3.5 jenkins全局配置 jenkins全局工具配置 一共就配置三个工具jdk git  maven   docker不配置是因为jenkins用户已经添加到了docker组的附加组 JDK配置需要把自动安装取消 Git配置如果不加git,jenkins就无法使用git参数 配置之前先在jenkins查看是否安装git  git version Maven 配置 首先要确定系统中是否有maven mvn -v 就能查看maven家目录 3.6 jenkins系统配置 主要配置ssh插件用于jenkins操作web-server,web-server执行命令。 jenkins需要ssh免密登录web服务器才能实现自动发布项目 所以jenkins还需要添加一个连接web服务器的凭据 如果web服务器比较少就可用用户名和密码作为凭据 注意用户名root是web服务器的root用户  密码也是web服务器的密码  点击系统设置 实际工作中可以点击新增添加多台web服务器 四、项目发布 4.1 项目代码获取 --recurse 相当于 -R 递归   -submodules 子项目 https://gitee.com/dl88250/solo.git  是一个java编写的博客项目子项目就是皮肤 注意获取项目代码是是开发人员的主机 4.2 项目代码修改 主要修改项目如何连接数据库 克隆项目到本地之后查看src源码目录下的main目录下的resources下的 local.properties文件 通过jdbc连接数据库数据库安装在web服务器上所以mysql通过jdbc连接web服务器的ip 注意真实工作中一个项目单独一个数据库而且处于删库跑路的安全考虑是不可能用root用户通过jdbc连接数据库的一个项目一个库数据库授予普通用户权限就行 solo就是项目数据库名称 注意web服务器上创建的数据库字符编码必须和配置文件一致是utf-8 4.3 安装项目数据库 在web-server安装mariadb数据库也可安装mysql数据库 启动mariadb数据库mysqladmin -uroot password 123456  登录数据库 创建solo项目数据库默认字符集utf8  排序规则不指定 utf8mb4_bin 是区分大小写的也区分 e 和 é 这类字符的 utf8_genera_ci 是不区分大小写的也不区分 e 和 é 这类字符 注utf8_general_ci 是区分大小写的但不区分 e 和 é 这类字符 如果需要区分带有音节的字符又不想要区分大小写可在 sql 查询对应字段时用 LOWER () 函数 授权root用户访问solo数据库的所有表 4.4 项目代码上传到gitlab-server   创建项目的gitlab仓库 上传项目代码 必须在开发者主机设置全局配置用户名和email,才能知道项目是谁上传的。 仓库里面有对应命令可复制粘贴 进入solo项目目录移除原来的远程项目地址因为gitlab仓库里面创建的这个solo项目是空的 但是之前获取的项目代码是从网络获取的保险起见不管是从哪里获取的最好都移除重新添加本地主机为推送地址所以必须移除网络推送地址才能成功上传项目到仓库 添加开发者的主机作为本地仓库  推送地址就变成了开发者主机 git add -A . 把当前项目代码放入暂存区  git 2.0版本支持git add .暂存删除的文件到暂存区 git commit -m 事务标识  提交事务 git tag  版本号  给项目打版本号标签 git push origin master 指定远程仓库名和分支名。(这里只配置了本地仓库) git push origin 版本号  指定上传打标签的版本1.0.0到本地开发者主机的仓库 项目代码已经传送到了gitlab仓库中可登录gitlab网页查看历史push events 4.5 创建项目运行的基础应用镜像 主要是tomcat容器应用镜像 第一步创建一个项目目录 mkdir tomcatdir 第二步在项目目录中创建Dockerfile文件 用来自动创建容器镜像 容器镜像越小越好一定要把tomcat默认的访问页面删掉 重新创建一个项目目录ROOT可自定义 编辑Dockerfile文件的前提是当前目录必须有jdk 所以把/usr/local/jdk 文件cp到项目目录 第三步构建tomcat容器镜像工程 自动下载Dockerfile中的文件 第四步上传容器镜像到harbor仓库 上传容器镜像之前先确定镜像是否存在docker images  登录harbor之后上传打包好的镜像 验证就很简单 先查看harbor项目镜像仓库是否存在上传的镜像 再用web服务器直接运行就  后台运行就会直接下载tomcat容器镜像到web服务器并运行  可用用docker inspect  容器id 查看容器的ip之后curl http://容器ip8080  其实看不到什么 4.6 创建jenkins工程任务 第一步: jenkins获取项目代码 第二步: jenkins对项目代码编译由maven完成 第三步:jenkins使用docker对编译完成的项目代码进行打包打包成容器应用镜像 第四步: jenkins把打包的容器应用镜像上传到harbor 第五步:jenkins通过ssh插件完成对web-server运行容器应用镜像的操作 在jenkins网页点击新建任务再点击构建一个maven项目 任务构建时勾选参数化构建过程Git Parameter 填写tag标签  版本号 选择git 然后粘贴克隆命令到url  添加凭据 最后要构建的分支填写$Tag版本参数 git 版本替换时确实要指定分支的只不过这里的分支是版本号参数为了实现自动更新版本 如果项目中有子模块必须新增sub-modules模块 如果项目中有子模块必须勾选更新子模块选项使用凭据是为了自动下载gitlab中的代码 Build构建项目  配置pom.xml文件和清除之前 构建的包 跳过预构建测试 jenkins服务器的数据存放目录/var/lib/jenkins  添加一个本地执行shell  再添加一个远程执行shell maven  会把代码编译成war包war是一个可以直接运行的web模块通常用于网站打成包部署到容器中。以Tomcat来说将war包放置在其\webapps\目录下然后启动Tomcat这个包就会自动解压就相当于发布了。 jenkins在本地完成了镜像的打包并上传到了harbor仓库 web服务器要利用ssh远程的shell命令实现自动获取并运行项目镜像 docker run -d --name blog-solo -v /usr/local/jdk/:/usr/local/jdk -p 80:8080 $REPOSITORY 运行容器 并挂载jdk  如果不想在web服务器安装jdk可以去掉这行挂载命令 4.8 项目发布过程 点击   基于参数构建parameters 构建项目之后点击小三角符号之后点控制台输出 控制台输出就会自动创建一个jenkins的workspace工作空间 /var/lib/jenkins/workspace/任务名称   这个workspace其实就是项目存放的位置 可以看到workspace工作空间有上传到gitlab代码仓库的代码 src 是源码目录 等jenkins把项目构建完成之后 就会出现target 里面有maven编译过的java代码的war包 war包是一种web代码格式可在tomcat中自动解压并运行 skins目录就是放皮肤的 docker rm 删除容器  docker rmi 删除镜像 更换版本可以在开发者主机上的项目目录打标签 版本号  之后push上传到jenkins就行 如果docker start 之后 docker ps --all 多次发现容器没有启动 第一步查看message日志 less /var/log/message 第二步 进入数据库目录查看数据库log 第三步查看docker logs 容器id 一定会发现容器172.17.0.2 不允许连接到数据库 因为之前授权的时候就授权了一个web主机的ip 必须登录数据库把授权改成%  允许所有主机登录项目数据库 如果发布项目需要到测试环境的话可添加一台测试主机和jenkins测试节点
http://www.dnsts.com.cn/news/124554.html

相关文章:

  • 利用店铺网站做灰色优化wordpress 角色和权限管理
  • 海沧做网站简述jsp网站开发的环境配置
  • 天津品牌网站建设公司排名创意设计字体
  • 做网站致富东莞外贸企业名单
  • 知名网站建设推广建筑木工模板承包报价单
  • 网站开发专业就业好不好视觉设计公司名字
  • 网站是怎么制作的公司介绍ppt制作模板
  • 网站开发技术和seo的联系互联网企业营销策略
  • 网络网站开发培训浦东建设环评网站
  • 网页游戏推荐排行360网站关键词排名优化
  • 做相册网站用阿里云建设网站
  • 在建立网站站点的过程中筑巢网站建设
  • 马蜂窝网络营销网站建设农业公司网站源码
  • 车轮违章查询是什么网站开发wordpress 账号密码
  • 1免费建站网站想做电商从哪里入手
  • 程序开发 网站开发成都网站建设cdajcx
  • 最新网站网址永久发布图片文章wordpress
  • 公司做网站之前要准备什么软件盐城网站建设与网页制作
  • 读书网站建设策划书网站哪个语言好
  • 中国农村建设网站住房建设部网站监理员
  • 网站建设服务市场做销售的网站
  • php网站开发和jsui设计需要学哪些内容
  • php网站开发视频wordpress 中文博客主题
  • 三大框架对网站开发的作用内部网站搭建
  • 外贸网站推广与优化wordpress软件特点
  • 莒南县网站建设有哪些比较好的外贸网站
  • 建设银行网站上预览电子回单百度热搜榜单
  • 各行各业网站建设口碑好淘宝客怎么做直播网站
  • 云梦网络 网站模板园区做网站
  • 外贸网站策划在线直播免费服务器