基于Jenkins+Maven+Gitea+Nexus搭建CICD环境的方式

目录
  • 普通Jar包的运行方式
  • 搭建Nexus私服环境
    • 下载和安装
    • 安装Maven
  • 登录控制台
    • Nexus控制台说明
    • 目录说明
    • Nexus设置成系统服务
  • 搭建Gitea环境
  • 搭建Jenkins环境
  • 项目改造
    • 项目配置本地的私服
    • 修改发布服务器的settings.xml文件
  • 配置自动集成与发布
    • 配置Jenkins的环境变量
    • 安装Jenkins插件
    • 配置发布目标服务器信息
    • 添加项目发布机制
  • 编写发布脚本
  • 编写运行脚本run-goods-service.sh
  • 配置代码提交后动态构建
    • 安装Webhook插件
    • gitea添加webhook钩子
    • 验证自动触发的行为
  • 源码地址

在传统的单体软件架构中,软件开发、测试、运维都是以单个进程为单位。

当拆分成微服务之后,单个应用可以被拆分成多个微服务,比如用户系统,可以拆分成基本信息管理、积分管理、订单管理、用户信息管理、合同管理等多个微服务模块。

这个时候对每个模块分别打包、发布运行、开发、测试、运维的,对于测试、运维的工作量会极大增加。

在这个过程中,如果缺乏自动化测试、自动化集成/部署、自动运维等能力,带来的影响是

  1. 软件交付周期增加
  2. 多环境部署的情况下,各个环境差异带来的问题。
  3. 人工运维容易给环境带来一些不可重现的影响,而且一旦发生运维错误又比较难立刻恢复,造成故障处理时间较长。并且对于运维人员的能力要求较高

所有的这些问题,会导致软件交付时间变长、风险增加、以及运维成本增加等问题。因此,我们需要一套自动化部署体系,来构建一个CICD的模型。

普通Jar包的运行方式

1.使用maven packagenohup java -jar ${APP_NAME} > goods-service.log 2>&1 &

2.nohup用途:不挂断地运行命令

  • &用途,在后台运行
  • 2>&1: 在bash中:

0 代表STDIN_FILENO 标准输入(一般是键盘),

1 代表STDOUT_FILENO 标准输出(一般是显示屏,准确的说是用户终端控制台),

2 三代表STDERR_FILENO (标准错误(出错信息输出)。

  • 2>&1就是用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。

> 直接把内容生成到指定文件

搭建Nexus私服环境

Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。

Maven私服环境需要用sonatype nexus,下面我们从安装和配置进行详细分析

部署服务器: 192.168.8.138

下载和安装

访问:https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.37.0-01-unix.tar.gz地址,下载Sonatype Nexus。

解压缩到/data/program目录下

[root@localhost program]# tar -zxvf nexus-3.37.0-01-unix.tar.gz 

进入到${NEXUS_HOME}\bin目录,执行下面命令启动Nexus

./nexus start 

安装Maven

1.下载Maven: https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz

2.配置Maven 和JDK 环境变量。

export JAVA_HOME=/data/program/jdk1.8.0_241
export MAVEN_HOME=/data/program/apache-maven-3.8.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3.进入到${NEXUS_HOME}\bin目录,执行下面命令启动Nexus

用./nexus start启动,后台启动,启动成功后可以访问

用./nexus run启动,前台启动,显示日志,启动后可以访问

./nexus start 

启动时,会有如下提示,这个是建议我们使用非root账户来访问。

WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************

4.访问:http://localhost:8081访问Nexus仓库

如果想配置 nexus 的应用在本地启动的 JVM参数,可以在 nexus.vmoptions

如果想改变 nexus 的 端口号,可以在 nexus-default.properties

登录控制台

1.默认登录的帐号是admin,密码在会提示你在:/data/program/sonatype-work/nexus3/admin.password文件中。

2.内容如下,直接复制该内容登录即可。

090849ac-cea7-4353-b2c8-59b2bceadb50

Nexus控制台说明

进入Nexus控制台的Browse菜单,可以看到四种仓库类型:

1)maven-central: maven中央库,默认从https://repo1.maven.org/maven2/拉取jar

2)maven-releases: 私库发行版jar

3)maven-snapshots:私库快照(调试版本)jar

4)maven-pubpc: 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

Nexus默认的仓库类型有以下四种:(上面的名字可以随便取,关键是它对应的是什么仓库类型)

1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;

2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);

3)proxy(代理类型): 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);

4)virtual(虚拟类型): 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用);

Nuget是用于微软.NET开发平台的软件包管理器,和Maven类似。

目录说明

nexus-3.34.0-01 目录

  • bin 包含nexus的启动脚本和相关配置
  • etc jetty、karaf等配置文件
  • jre jre环境
  • lib java架包库
  • public 关于nexus应用在本地跑起来所需要的资源
  • system 应用所有的插件和组件
  • LICENSE.txt 和 NOTICE.txt 版权声明和法律细则

sonatype-work\nexus3 目录

  • blobs/ 创建blob的默认路径,当然也可以重新指定
  • cache/ 当前缓存的karaf包的信息
  • db/ OrientDB数据库的数据,用于存储nexus的元数据的数据库
  • elasticsearch/ 当前配置的Elasticsearch状态
  • etc/ 大概是运行时配置状态和关于资源库的自定义的相关的东西
  • health-check/ 看目录,健康检查的相关报告的存储目录吧
  • keystores/ 自动生成的关于资源库的ID主键
  • log/ 运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件
  • tmp/ 用于存储临时文件的目录

Nexus设置成系统服务

按照以下步骤执行

1.修改${NEXUS_HOME}\bin\nexus这个脚本,增加下面的配置

INSTALL4J_JAVA_HOME_OVERRIDE=/data/program/jdk1.8.0_241

2.设置软链接

[root@localhost bin]# ln -s /data/program/nexus-3.37.0-01/bin/nex

3.通过chkconfig方式配置系统服务

cd /etc/init.d
sudo chkconfig --add nexus #添加nexus服务
sudo chkconfig --levels 345 nexus on #设置开启自启动

4.启动和停止服务

sudo service nexus start #开启服务
service nexus status #查看服务状态

搭建Gitea环境

参考文档: https://docs.gitea.io/zh-cn/install-from-binary/

1.安装git环境: yum -y install git

2.通过下面的命令下载pnux中的安装包到/data/program/gitea目录下。

wget -O gitea https://dl.gitea.io/gitea/1.15.7/gitea-1.15.7-linux-amd64

3.执行chmod +x gitea命令,授予执行权限

4.执行下面这个命令运行gitea

./gitea web

安装成系统服务(重要)

1.创建Git用户

sudo useradd \
   --system \
   --shell /bin/bash \
   --comment 'Git Version Control' \
   --create-home \
   --home /home/git \
   git

2.下载二进制文件

wget -O gitea https://dl.gitea.io/gitea/1.15.7/gitea-1.15.7-linux-amd64

3.根据gitea官方推荐,按照以下方式配置gitea的安装目录

把下载的文件移动到/usr/local/bin目录

sudo mv /data/program/gitea /usr/local/bin

使二进制文件可执行:

chmod +x /usr/local/bin/gitea

按照一下命令创建必要目录并设置权限

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,custom,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

根据Gitea官方提供的Systemd Unit文件,配置系统服务。

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

注意,gitea.service, 不能通过wget下载,需要去github上复制

完成上述过程后,通过下面命令开启自动启动

systemctl enable gitea
systemctl start gitea

4.安装启动完成后,访问:http://192.168.8.136:3000,配置数据库相关属性即可。

搭建Jenkins环境

Jenkins是一个用JAVA编写的开源的持续集成工具,运行在servlet容器中,支持软件配置管理(SCM)工具,可以执行基于APACHE ANT和APACHE MAVEN的项目,以及任意Shell脚本和Windows批处理命令

Jenkins提供了自动构建和部署的功能,具体安装方式如下:

wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum upgrade
yum install epel-release java-11-openjdk-devel
yum install jenkins
systemctl daemon-reload

通过下面的命令启动或停止jenkins

systemctl start jenkins
systemctl stop jenkins

访问: http://192.168.8.136:8080 访问jenkins

按照控制台提示的步骤一步步执行即可。

注意: Jenkins安装默认采用JENKINS用户,所以如果是使用root权限,则需要修改帐号

[root@localhost bin]# vim /etc/sysconfig/jenkins

JENKINS_USER="root"

项目改造

项目配置本地的私服

修改setting.xml文件,增加mirror配置

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>maven-public</mirrorOf>
        <url>http://192.168.8.136:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,走该镜像进行jar包的获取。

在项目中增加如下配置,也就是指定snapshots和releases 不同发行版本jar包的发布仓库

<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://192.168.8.136:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
    <repository>
        <id>releases</id>
        <name>Nexus Release Repository</name>
        <url>http://192.168.8.136:8081/repository/huhy-nexus/</url>
    </repository>
</distributionManagement>

修改发布服务器的settings.xml文件

修改发布服务器的settings.xml文件的目的,是因为Jenkins服务器在进行持续集成时,需要通过maven实现依赖jar包的下载,而这个下载需要从我们本地的私服中获取。

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>maven-public</mirrorOf>
        <url>http://192.168.8.136:8081/repository/maven-public/</url>
    </mirror>
</mirrors>
<profiles>
     <profile>
      <id>nexusRep</id>
      <repositories>
        <repository>
          <id>nexus</id>
          <url>http://192.168.8.136:8181/repository/maven-public/</url>
          <layout>default</layout>
          <releases>
              <enabled>true</enabled>
              <updatePolicy>always</updatePolicy>
          </releases>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <!--插件地址-->
            <id>nexus</id>
            <url>http://192.168.8.136:8181/repository/maven-public/</url>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </pluginRepository>
       </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>nexusRep</activeProfile>
  </activeProfiles>

配置自动集成与发布

配置Jenkins的环境变量

进入到如下页面,红色标注的配置。

配置Maven的环境,指定发布服务器上安装的Maven目录。

安装Jenkins插件

Gitea , 集成Gitea,安装好之后,在Jenkins全局配置中,添加Gitea Server信息。

Git Parameter , 配置Git发布属性

Pubpsh Over SSH ,在远程机器上执行脚本,这一步需要先配置能ssh远程机器

Maven Integration, 支持Maven项目的集成

配置发布目标服务器信息

我们把下面两台服务器当成是web节点

192.168.8.134192.168.8.135

在Jenkins 全局配置中,配置这两台服务器的信息,用来后续实现jar包远程传输。其中Remote Directory目标服务器的工作目录,jar包会被远程传输到该目录下

添加项目发布机制

创建一个Maven项目的任务。

配置源码来源,这里使用Gitea中项目的源码地址,并配置登录帐号密码信息。

配置Maven的执行命令,其中root POM,如果是在多模块项目中,需要指定当前要构建的模块的pom.xml。

增加构建成功之后的执行逻辑,就是把jar包发布到远程目标服务器,然后执行相关shell脚本启动服务

编写发布脚本

编写shell脚本,当jar包发送到目标服务器之后,执行下面脚本。

  1. 做历史jar备份和清理
  2. 执行shell脚本启动服务
#! bin/sh -e
export JAVA_HOME=/data/program/jdk1.8.0_241
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=${PATH}:$JAVA_HOME/bin
source /etc/profile
# define property
JAR_PATH='/app/service/goods-service'
TEMP_PATH='/app/service/temp'
BACKUP_PATH='/app/service/backup'
JAR_NAME=goods-service.jar
FILE_NAME=goods-service
# stop target service
cd ${JAR_PATH}
sh run-goods-service.sh stop
sleep 2
rm -rf $FILE_NAME.log
# backup old jar
BACKUP_DATE=$(date +%Y%m%d_%H%M)
if [ ! -d $JAR_PATH/backup/$FILE_NAME ];then
    mkdir -p $JAR_PATH/backup/$FILE_NAME
fi
cd ${JAR_PATH}
pwd
if [ -f $JAR_NAME ];then
   mv -f ./$JAR_NAME ./backup/$FILE_NAME/$JAR_NAME$BACKUP_DATE
   sleep 1
fi
# start jar
BUILD_ID=dontKillMe
cd ${TEMP_PATH}
mv -f $JAR_NAME  $JAR_PATH
cd ${JAR_PATH}
sh run-goods-service.sh restart
# clear old backup
cd ${JAR_PATH}/backup/$FILE_NAME
ls -lt|awk 'NR>5{print $NF}' |xargs rm -rf
ps -ef|grep java
echo "=============deploy success========"

编写运行脚本run-goods-service.sh

# 表示当前脚本采用/bin路径的bash程序来解释执行
#!/bin/bash
# 执行的jar包
APP_NAME=goods-service.jar
usage() {
  echo "执行操作命令 [start|stop|restart|status]"
  exit 1
}
if_exist() {
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
  if [ -z "${pid}" ]; then
    return 1
  else
    return 0
  fi
}
start() {
  if_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} already running . pid=${pid}"
  else
    nohup java -jar ${APP_NAME} > goods-service.log 2>&1 &
    npid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
    echo "start ${APP_NAME} success, pid=${npid}"
  fi
}
stop() {
  if_exist
  if [ $? -eq 0 ]; then
    kill -9 $pid
    echo "stop $pid success".
  else
    echo "${APP_NAME} is not running"
  fi
}
status() {
  if_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} is running. pid is ${pid}"
  else
    echo "${APP_NAME} is not running "
  fi
}
restart() {
  stop
  sleep 5
  start
}
case "$1" in
   "start")
      start
       ;;
    "stop")
      stop
       ;;
    "status")
      status
       ;;
    "restart")
      restart
       ;;
    *)
    usage
     ;;
esac

配置代码提交后动态构建

如果我们希望代码提交合并到某个分支后,自动构建进行发布,怎么实现呢?

安装Webhook插件

在Jenkins中安装Generic Webhook Trigger 插件,安装成功后,会在构建的配置页面多了下面所示的一个选项。

配置Generiac Webhook Trigger,增加一个token作为验证。

注意这个地址: http://JENKINS_URL/generic-webhook-trigger/invoke , 在webhook中需要配置这个作为触发调用。

gitea添加webhook钩子

在gitea的项目中,找到Web钩子,添加Web钩子. 选择gitea

添加webhook

验证自动触发的行为

修改gpmall-pc这个项目的任何一个代码,然后提交到gitea上。

观察Jenkin的项目构建目录,会增加一个自动构建的任务,如下图所示。

并且在gitea的webhook中,可以看到最近的推送记录

源码地址

文章演示使用的源码: https://github.com/2227324689/spring-cloud-netfpx-example.git

到此这篇关于基于Jenkins+Maven+Gitea+Nexus从0到1搭建CICD环境的文章就介绍到这了,更多相关Jenkins+Maven+Gitea+Nexus搭建CICD环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Jenkins+maven持续集成的实现

    环境 系统:centos 7 tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57 jdk位置:/usr/local/jbreport/jdk1.8.0_152 安装Jenkins 下载依赖 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 导入密钥 rpm --import https://pkg.jenkins.io/re

  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear

  • GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署

    目录 一.安装 Tomcat 服务 二.在 Jenkins 上安装 Maven 1.安装 Maven 2.创建 Jenkins 任务 3.验证 一.安装 Tomcat 服务 1.安装 JDK JDK 下载地址:传送门(需要创建 Oracle 账号) [root@Tomcat ~]# ls anaconda-ks.cfg jdk-8u181-linux-x64.tar.gz [root@Tomcat ~]# tar zxf jdk-8u181-linux-x64.tar.gz [root@Tomc

  • Jenkins+Maven+SVN自动化部署java项目

    安装Jenkins 提示:首先Jenkins安装方式有2中,一种是yum安装,另一种是使用war的方式进行安装(war就需要安装tomcat) 官方文档:https://pkg.jenkins.io/redhat/ 如果我们想使用war包的方式可以直接下载war包 Jenkins访问地址:localhost:8080/jenkins 新版本的jenkins为了保证安全,在安装之后有一个锁,需要设置密码之后才可以解锁 我们选择推荐安装即可 安装插件中 设置管理员账号密码 登陆jenkins 安装m

  • 基于Jenkins+Maven+Gitea+Nexus搭建CICD环境的方式

    目录 普通Jar包的运行方式 搭建Nexus私服环境 下载和安装 安装Maven 登录控制台 Nexus控制台说明 目录说明 Nexus设置成系统服务 搭建Gitea环境 搭建Jenkins环境 项目改造 项目配置本地的私服 修改发布服务器的settings.xml文件 配置自动集成与发布 配置Jenkins的环境变量 安装Jenkins插件 配置发布目标服务器信息 添加项目发布机制 编写发布脚本 编写运行脚本run-goods-service.sh 配置代码提交后动态构建 安装Webhook插

  • 详解基于webpack和vue.js搭建开发环境

    前言 在对着产品高举中指怒发心中之愤后,真正能够解决问题的是自身上的改变,有句话说的好:你虽然改变不了全世界,但是你有机会改变你自己.秉承着"不听老人言,吃亏在眼前"的优良作风,我还是决定玩火自焚. 问题所在 之前的项目总结为以下内容: 1.AMD模块规范开发,使用requirejs实现,使用rjs打包,最终导致的结果是,输出的项目臃肿,肿的就像一坨狗不理--不忍直视 2.使用gulp进行打包,这一点貌似没有可吐槽的地方,毕竟都是被grunt折磨过来的-- 3.数据的渲染使用模板引擎,

  • 基于Jenkins搭建.NET FrameWork持续集成环境

    这里我们主要搭建 .Net 环境.本文是在 Windows 环境下安装的 Jenkins 进行操作 一.安装所需环境 这里我们需要安装以下安装包: .NET Framework 4.6.1https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 MicrosoftBuild Tools 2015https://www.microsoft.com/zh-CN/download/details.aspx?id=48159 .NET

  • 使用Nexus搭建Maven私服的方法步骤

    序言 maven私服类似.net中的nuget包服务器 官网/版本收费 首先要吐槽官网慢的一比,下载不下来. 地址:https://www.sonatype.com/ 下载地址:https://www.sonatype.com/download-nexus-repo-oss 版本/收费/免费:Nexus Repository Manager 仓库管理有2个版本,专业版和oss版,oss版是免费的,专业版是收费的,我们使用oss版. 简介 nexus是一个强大的maven仓库管理器,它极大的简化了

  • docker搭建jenkins+maven代码构建部署平台

    目录 Docker基本概念 Docker安装过程(Centos6.9) 升级内核 安装docker-io 基于Docker的jenkins安装 拉取应用 运行容器 跟踪应用log 关闭打开容器 tomcat账户配置 配置jenkins,构建部署war应用 配置JDK.Maven等参数 新建任务构建部署 通过ssh脚本部署maven项目到指定Tomcat中 配置Publish Over SSH插件 编写部署ssh脚本 项目构建配置 由于项目开发,经常需要在本地搭一些环境进行开发或测试,大家知道搭环

  • 使用Nexus搭建Maven私服教程的方法步骤

    目录 一.基本介绍(Nexus(maven私服)) 1,如果没有搭建私服会有什么问题? 2,搭建私服的优点 3,Nexus 介绍 二.Nexus 服务的安装(推荐第二种:使用docker方式安装) 1,使用二进制发行包安装 2,使用 Docker 镜像进行安装(推荐) 三.Nexus 服务的配置 附一:Maven 配置使用私服(下载依赖) 1,基本说明 2,通过 setting.xml 文件配置 3,通过 pom.xml 文件配置 附二:Maven 配置使用私服(下载插件) 附三:Maven 配

  • Maven 搭建开发环境

    Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 内存 没有最低要求 磁盘 Maven 自身安装需要大约 10 MB 空间.除此之外,额外的磁盘空间将用于你的本地 Maven 仓库.你本地仓库的大小取决于使用情况,但预期至少 500 MB 操作系统 没有最低 检查 Java 安装

  • Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)

    Ubuntu 搭建基于Docker的LNMP+Redis的开发环境 服务器环境:Ubuntu 14.04 1.安装Docker 1.1 执行update命令,和服务器同步软件包,执行apt-get install * 时可以下载最新的软件. 1.2 安装Docker和创建软链接   1.3 启用Docker服务 2. 获取搭建环境所需镜像 2.1 MySQL镜像 2.2 Redis镜像   2.3 nginx-php-fpm镜像 2.4 查看已下载的镜像 对于Docker初学者来说,可以使用现有

  • IDEA+Maven搭建Spring环境的详细教程

    1. Spring简介 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架. 2. Spring的优势 1.方便解耦, 简化开发: 通过Spring提供的IOC容器, 可以将对象间的依赖关系交由Spring进行控制, 避免硬编码所造成的过度耦合. 2.AOP编程的支持: 通过AOP功能方便进行面向切面编程, 许多不容易用传统OOP实现的功能可以通过AOP轻松实现. 3.声明式事物编程: 通过声明方式灵活的进行事务管理, 提高开发效率和质量. 4.方便程序测试: 可以用非容器

  • 快速上手基于Anaconda搭建Django环境的教程

    目录 一.介绍 二.django环境安装 1.创建虚拟环境Django 2.激活沙箱环境 3.安装Django 三.pycharm的安装与配置 四.创建简单的Django示例 一.介绍 Django特点:具有完整的封装,开发者可以高效率的开发项目,Django将大部分的功能进行了封装,开发者只需要调用即可,如此,大大的缩短了开发的时间,同时也因为太多封装导致开发灵活度和项目的运行效率不足.通常在工作当中,开发者可以使用Django快速的搭建项目,然后基于项目进行个别部分的效率优化. 二.djan

随机推荐