首页 文章 精选 留言 我的

精选列表

搜索[部署],共10000篇文章
优秀的个人博客,低调大师

jenkins+git+maven+docker持续集成部署

环境准备: 安装centos7.1系统,最小化安装 设置好网络和防火墙 网络需要能访问外网, ip 192.168.1.7 下面关闭防火墙 setenforce 0 systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/g' /etc/selinux/config 设置yum源 cd /etc/yum.repos.d/ wgethttp://mirrors.aliyun.com/repo/Centos-7.repo wgethttp://mirrors.aliyun.com/repo/epel-7.repo yum -y install epel-release 安装应用:docker+git+maven+jenkins 安装docker yum install docker -y 修改docker配置 vi /etc/sysconfig/docker #OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false' #if [ -z "${DOCKER_CERT_PATH}" ]; then # DOCKER_CERT_PATH=/etc/docker #fi OPTIONS='--insecure-registry=192.168.1.7:5000' 启动docker systemctl start docker systemctl enable docker 创建镜像仓库 docker pullregistry docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name registry registry docker pull tomcat:7.0.70-jre7-alpine 安装git和maven yum install git -y yum install maven -y 配置git用户 cd ~ touch .git-credentials vi .git-credentials http://root:123456@192.168.1.7 http://admin:admin@192.168.1.7 http://admin:123456@192.168.1.7 git config --global credential.helper store git config --global user.name root git config --global user.email root@corpmail.com git config --list 建立git项目mybank-demo-maven cd /opt/ #新建初始化项目 git init --bare mybank-demo-maven.git 然后 cd /tmp/ git clone root@192.168.1.7:/opt/mybank-demo-maven.git #注意用户密码 cdmybank-demo-maven git clonehttps://github.com/nichochen/mybank-demo-maven #下载GitHub上的项目 mvmybank-demo-maven/* . rm -rfmybank-demo-maven 创建Dockerfile viDockerfile FROM tomcat:7.0.70-jre7-alpine ADD ./target/ROOT.war /usr/local/tomcat/webapps/mybank.war 1 2 3 4 5 6 [root@gluster01mybank-demo-maven] #ll 总用量16 -rw-r--r--.1rootroot901月400:33Dockerfile -rw-r--r--.1rootroot8301月319:53pom.xml -rw-r--r--.1rootroot1811月319:53README.md drwxr-xr-x.3rootroot40961月319:53src 将文件提交到git git add pom.xml git add README.md git add src git add Dockerfile git commit -m 'first commit' git push origin master 安装jenkins cd /etc/yum.repos.d/ wget -O /etc/yum.repos.d/jenkins.repohttp://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --importhttps://jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins -y yum install java -y yum install net-tools 修改端口为8081 vi /etc/sysconfig/jenkins JENKINS_PORT="8081" 启动jenkins /etc/init.d/jenkins start 在浏览器中输入:http://192.168.1.7:8081,效果如下 按照提示执行 cat /var/lib/jenkins/secrets/initialAdminPassword 得到Administrator password 接着设置账号密码 比如 admin:admin root:123456 进入主页面 登陆jenkins, 进入系统管理-插件管理-可选插件 搜索ssh plugin 和 Maven Integration plugin 然后安装, 安装界面选择安装好后重启jenkins 接着进入系统管理--系统设置 在系统设置中设置ssh 在上步中Credentials add添加用户密码 root :123456 并接着添加jenkins的url配置 系统设置的其他项可以保持不动,保存上面的修改 下面进行全局工具配置 配置其中的 jdk git maven yum安装的java 用命令查找路径 跟踪软连接 ll /usr/bin/javac ll /etc/alternatives/javac ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/bin/javac jdk的home就是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/ git的是命令路径 maven和docker 用命令 mvn -v 查看home路径 Apache Maven 3.0.5 (Red Hat 3.0.5-17) Maven home: /usr/share/maven Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix" 新构建maven项目 名称为mybank 接着 下面git源码和add密码 root:123456 增加构建后操作 其中的num镜像数要多一个,要多tag一个有5000/mybank-tomcat辨识的镜像,第一次打包,要tag一个,以便于打包后是准确的v1版本 cd /var/lib/jenkins/workspace/mybank/ num=`docker images|grep "5000/mybank-tomcat"|wc -l` docker build -t mybank-tomcat:v$num . docker tag mybank-tomcat:v$num 192.168.1.7:5000/mybank-tomcat:v$num docker push 192.168.1.7:5000/mybank-tomcat:v$num docker run -d -p 8080:8080 mybank-tomcat:v$num 配置完成后保存 执行构建; 执行构建前,去服务器修改maven仓库路径 最好阿里云的镜像,增加如下配置,飞速下载 vi/etc/maven/settings.xml 1 2 3 4 5 6 <mirror> < id >alimaven< /id > <mirrorOf>central< /mirrorOf > <name>aliyunmaven< /name > <url>http: //maven .aliyun.com /nexus/content/repositories/central/ < /url > < /mirror > 构建成功并做成镜像后上传到docker仓库,最后启动镜像服务,日志截图 在服务器上查看生成情况 [root@gluster01 conf]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.1.7:5000/mybank-tomcat v1 783463c71415 5 hours ago 150 MB mybank-tomcat v1 783463c71415 5 hours ago 150 MB [root@gluster01 conf]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50769a5283c8 mybank-tomcat:v1 "catalina.sh run" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp sleepy_kowalevski 8fb688b7453d registry:latest "/entrypoint.sh /etc/" 2 days ago Up 6 hours 0.0.0.0:5000->5000/tcp registry 镜像服务正常,用浏览器访问服务正常 到此 一般的基础流程已经完成 如有兴趣可在git中添加秘钥认证 本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/2057841,如需转载请自行联系原作者

优秀的个人博客,低调大师

OpenStack(Kilo版本)镜像服务glance的安装部署

OpenStack镜像服务(glance)允许用户发现、注册和恢复虚拟机镜像。Glance提供Rest API可以查询虚拟机镜像的metadata并且可以获取镜像。通过Glance,虚拟机镜像可以被存储到多种存储上,比如简单的文件存储或者对象存储(比如OpenStack中swift项目)。 一、OpenStack 镜像服务包含组件 图1.1. OpenStack glance组件 二、OpenStack 镜像服务安装 下面介绍如何安装和配置镜像服务,即glance。这个配置将镜像保存到本地文件系统中,默认存储在/var/lib/glance/images/目录中。所有的步骤将在控制节点(Controller Node)上面进行操作。 1.安装前的准备 安装和配置镜像服务之前,必须创建数据库、服务证书和API端点。 1.1数据库配置 1)创建数据库 1 2 3 root@controller:~ #mysql-uroot-p MariaDB[(none)]>createdatabaseglance; QueryOK,1rowaffected(0.06sec) 2)给数据库授权 1 2 3 4 5 6 MariaDB[(none)]>GRANTALLPRIVILEGESONglance.*TO 'glance' @ 'localhost' IDENTIFIEDBY 'sfzhang1109' ; QueryOK,0rowsaffected(0.45sec) MariaDB[(none)]>GRANTALLPRIVILEGESONglance.*TO 'glance' @ '%' IDENTIFIEDBY 'sfzhang1109' ; QueryOK,0rowsaffected(0.00sec) MariaDB[(none)]>flushprivileges; QueryOK,0rowsaffected(0.06sec) 3)退出数据库客户端 1 2 MariaDB[(none)]> exit Bye 1.2 导入admin身份凭证以便执行管理命令 1 root@controller:~ #sourceadmin-openrc.sh 1.3 创建服务证书 1)创建glance用户(密码:glance) 1 2 3 4 5 6 7 8 9 10 11 12 root@controller:~ #openstackusercreate--password-promptglance UserPassword: RepeatUserPassword: +----------+----------------------------------+ |Field|Value| +----------+----------------------------------+ |email|None| |enabled|True| | id |8d333920d9df49af8d57910c3c18dcf8| |name|glance| |username|glance| +----------+----------------------------------+ 2)将glance用户和租户服务添加管理员角 1 2 3 4 5 6 7 root@controller:~ #openstackroleadd--projectservice--userglanceadmin +-------+----------------------------------+ |Field|Value| +-------+----------------------------------+ | id |05616505a61c4aa78f43fba9e60ba7fc| |name|admin| +-------+----------------------------------+ 3)创建glance服务实体 1 2 3 4 5 6 7 8 9 10 root@controller:~ #openstackservicecreate--nameglance--description"OpenStackImageservice"image +-------------+----------------------------------+ |Field|Value| +-------------+----------------------------------+ |description|OpenStackImageservice| |enabled|True| | id |e448c04b115a4cd3b745b70b17fa95b3| |name|glance| | type |image| +-------------+----------------------------------+ 1.4 创建镜像服务API端点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 root@controller:~ #openstackendpointcreate\ --publicurlhttp: //controller :9292\ --internalurlhttp: //controller :9292\ --adminurlhttp: //controller :9292\ --regionRegionOne\ image +--------------+----------------------------------+ |Field|Value| +--------------+----------------------------------+ |adminurl|http: //controller :9292| | id |aa4ac4216c7a41fd8452c7186c9493ac| |internalurl|http: //controller :9292| |publicurl|http: //controller :9292| |region|RegionOne| |service_id|e448c04b115a4cd3b745b70b17fa95b3| |service_name|glance| |service_type|image| +--------------+----------------------------------+ 2.安装和配置镜像服务组件 2.1安装软件包 1 root@controller:~ #apt-getinstallglancepython-glanceclient 2.2编辑/etc/glance/glance-api.conf配置文件,完成下面的配置 1)在[database]部分配置数据库访问 1 2 3 [database] … connection=mysql: //glance :sfzhang1109@controller /glance 2)在[keystone_authtoken] 和[paste_deploy]部分配置身份认证入口 1 2 3 4 5 6 7 8 9 10 11 12 13 [keystone_authtoken] … auth_uri=http: //controller :5000 auth_url=http: //controller :35357 auth_plugin=password project_domain_id=default user_domain_id=default project_name=service username=glance password=glance [paste_deploy] … flavor=keystone 3)在[glance_store]部分配置本地文件系统存储和镜像文件的位置 1 2 3 4 [glance_store] ... default_store= file filesystem_store_datadir= /data/glance/images/ 4)在[DEFAULT]部分禁用noop消息驱动,因为该选项只和可选的Telemetry服务有关 1 2 3 [DEFAULT] ... notification_driver=noop 5)在[DEFAULT]部分开启详细日志配置,方便故障分析和排查 1 2 3 [DEFAULT] ... verbose=True 2.3编辑/etc/glance/glance-registry.conf配置文件,完成下面的配置 1)在[database]部分配置数据库访问 1 connection=mysql: //glance :sfzhang1109@controller /glance 2)在[keystone_authtoken] 和[paste_deploy]部分配置身份认证入口 1 2 3 4 5 6 7 8 9 10 [keystone_authtoken] ... auth_uri=http: //controller :5000 auth_url=http: //controller :35357 auth_plugin=password project_domain_id=default user_domain_id=default project_name=service username=glance password=glance 3)在[DEFAULT]部分禁用noop消息驱动,因为该选项只和可选的Telemetry服务有关 1 2 3 [paste_deploy] ... flavor=keystone 4)在[DEFAULT]部分开启详细日志配置,方便故障分析和排查 1 2 3 [DEFAULT] ... verbose=True 2.4 初始化镜像服务数据库 1 2 3 4 root@controller:~ #su-s/bin/sh-c"glance-managedb_sync"glance 2015-09-0106:17:25.16618641INFOmigrate.versioning.api[-]0->1... 2015-09-0106:17:25.19318641INFOglance.db.sqlalchemy.migrate_repo.schema[-]creatingtableimages … 3.安装完成 1)重启Image service的服务 1 2 root@controller:~ #serviceglance-registryrestart root@controller:~ #serviceglance-apirestart 2默认会创建SQLite数据库,因为使用的是MYSQL数据库,因此要删除QLite数据库文件 三、OpenStack Image service服务验证 1)配置镜像服务客户端使用API的版本为2.0 1 root@controller:~ #echo"exportOS_IMAGE_API_VERSION=2"|tee-aadmin-openrc.shdemo-openrc.sh 2)执行admin身份凭证 1 root@controller:~ #sourceadmin-openrc.sh 3)在本地创建临时目录 1 root@controller:~ #mkdir/tmp/images 4)下载镜像到该目录 1 root@controller:~ #wget-P/tmp/imageshttp://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img 5)上传镜像到Image service,镜像格式为QCOW2。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 root@controller:~ #glanceimage-create--name"cirros-0.3.4-x86_64"--file/tmp/images/cirros-0.3.4-x86_64-disk.img--disk-formatqcow2--container-formatbare--progress [=============================>]100% +------------------+--------------------------------------+ |Property|Value| +------------------+--------------------------------------+ |checksum|ee1eca47dc88f4879d8a229cc70a07c6| |container_format|bare| |created_at|2015-09-11T07:04:31.000000| |deleted|False| |deleted_at|None| |disk_format|qcow2| | id |df54ff49-b167-4fed-987a-0ade3cbc9aca| |is_public|False| |min_disk|0| |min_ram|0| |name|cirros-0.3.4-x86_64| |owner|d04d4985d62f42e2af2ddc35f442ffd9| |protected|False| |size|13287936| |status|active| |updated_at|2015-09-11T07:04:32.000000| |virtual_size|None| +------------------+--------------------------------------+ 6)确认镜像上传并验证属性 1 2 3 4 5 6 root@controller:~ #glanceimage-list +--------------------------------------+---------------------+-------------+------------------+----------+--------+ |ID|Name|DiskFormat|ContainerFormat|Size|Status| +--------------------------------------+---------------------+-------------+------------------+----------+--------+ |df54ff49-b167-4fed-987a-0ade3cbc9aca|cirros-0.3.4-x86_64|qcow2|bare|13287936|active| +--------------------------------------+---------------------+-------------+------------------+----------+--------+ 7)删除临时目录的镜像文件 1 root@controller:~ #rm-r/tmp/images/ 备注: 1)OpenStack官方文档: http://docs.openstack.org/kilo/install-guide/install/apt/content/ 本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/1693834,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册