zoukankan      html  css  js  c++  java
  • windows使用jenkins 搭建 .net 自动发布IIS站点平台

    前言

      什么是持续集成呢?Continuous integration(CI)。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

      如果没有持续集成会有哪一些问题呢?模块项目接口部署不及时,接口不通。每次需要手动打包最新的代码进行部署、发布代码、线上部署都是纯手工。容易出错。浪费时间。

      现在加上持续集成解决的问题呢?项目构建自动化、集成的详细信息及历史记录的记录、使用统一的管理、固定规定的部署流程、每天至少集成一次。

     环境:

         jenkins服务器:win7系统   (安装jenkins、git、Visual Studio 2017)

         IIS目标服务器:winserver2012系统(安装IIS 、FTP)

    安装

      这里我采用的是使用Tomcat配合jenkins一起使用的来达成持续集成的目的。

      一、安装Tomcat

    必须有jdk,这里用的是jdk1.8,安装:https://www.cnblogs.com/xiaoyou2018/p/9945272.html

     1、从官网下载Tomcat。下载地址:https://tomcat.apache.org

    apache-tomcat-8.5.49-windows-x64.zip

    下载:

    链接:https://pan.baidu.com/s/1GFJm_tBak9SXhsAMu1Xhrg
    提取码:yf7q

    下载后解压到C盘根目录并重命名。

    C:apache-tomcat

    2、配置环境变量
    在classpath这个变量中加入C:apache-tomcatin;

    .;%JAVA_HOME%lib;%JAVA_HOME%lib	ools.jar;C:apache-tomcatin;

    新建JAVA_HOME变量

    C:Program Filesjavajdk1.8.0_211

    3.启动Tomcat

    进入Tomcat中bin目录,双击startup.bat

    上图界面代表启动成功,成功后不要关闭,否则就关掉了Tomcat。

    测试Tomcat是否启动成功:
    在浏览器地址栏输入http://localhost:8080/
    若出现下图界面,则启动成功。

     

    二、安装Visual Studio 2017、Git-2.24.0.2-64-bit

          下载并安装Visual Studio 2017

           下载并安装Git-2.24.0.2-64-bit  下载地址: 

    链接:https://pan.baidu.com/s/15_1KHGu9igxtg0NdRarMeQ
    提取码:xmjr

    验证是否安装成功,右键-“git bash here”

    git --version

     

    三、目标服务器上安装IIS、FTP服务

     新建一个站点test.whenchat.com

    新建一个FTP站点208ftp

     

     

     

    身份验证选择基本

    授权选择指定角色或用户组(指定可以访问FTP的账户,没有账户请新建)

    权限(读写权限)

    完了之后可以连接FTP验证一下(注意新建防火墙入规则)

    四、安装Jenkins

      一切准备就绪之后,就开始安装jenkins了,下载地址:jenkins.io/download/。前往地址下载jenkins的 war包。

    jenkins-2.190.3.zip,下载地址:

    链接:https://pan.baidu.com/s/1oM3-oGQ4eC3St8Kg1c9c3A
    提取码:gfvx

    然后将war包放置在前面安装的Tomcat的目录之下(C:apache-tomcatwebapps)。

    然后在浏览器中输入http://localhost:8080/jenkins/。访问,安装成功的话就会出现jenkins的界面

    这里根据提示我们找到目录之下就可以获取密码了。接下来会出现插件安装的一个选择,新手直接选择新手入门推荐安装就好了。

     这里有时会出现安装失败或者链接失败的情况,多试几次就好了。一般是网络的问题。

     创建管理员用户之后就可以正式开始配置jenkins了。

    配置

    安装Publish Over FTP插件

     配置Publish Over FTP

     

    注意remote directory为 “/” 

    注意 中文配置为GB2312

     配置完后可以使用“test configuration”测试下FTP 是否连的通

    配置git、Visual Studio 2017

     

    新建一个项目 whenchattest

     

     MSBuild Version  :选择之前配置好的msbuild,就是Visual Studio 2017

    MSBuild Build File : 需要编译的工程文件目录,我这里是选择的工程文件里C:Usersjenkins.jenkinsworkspacewhenchattest20.APP接口站点测试PortTestNewPortTestNew.csproj      后缀是.csproj的工程文件

    (默认Git拉取源码存放的目录是C:Usersjenkins.jenkinsworkspace)

    Command Line Arguments : 编译文件

    /t:Rebuild   #重新生成
    /p:VisualStudioVersion=15.0  #Visual Studio 2017对应的是15.0
    /p:DeployOnBuild=True      #是否打包
    /p:Configuration=Release   #生成Release版本
    /p:OutputPath="C:Usersjenkins.jenkinsworkspacewhenchattest20.APP接口站点测试PortTestNewin"    #项目输出位置
    /p:WebProjectOutputDir="C:Usersjenkins.jenkinsworkspacewhenchattest	est.whenchat.com"      #项目dll输出位置,发布的时候就是把生产的这个文件里的内容拷贝到IIS站点的目录

      *注:如果生成以后需要使用ftp进行发布的话,请将项目生成到Jenkinsworkspace中去。同时路径中存在空格时,要在路径上加上双引号,否则会出先报错:

      MSBUILD : error MSB1008: 只能指定一个项目。

    VisualStudioVersion=15.0  查看版本号  C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEdevenv.exe.config
    
    
    
     

    通过ftp发布

    点击增加构建后操作步骤,并选择下图红框内的选项。

    Source files:表示当前上传的文件位置,该位置默认根目录为“Jenkinsworkspace项目名”文件夹。

    Remove prefix:表示上传时,是否排除忽略某些文件夹。如上图中,如果该项为空,则在FTP指定位置上传Build文件夹及其内容。

     Remote directory:ftp的目标目录

    自此配置构架、发布系统完成

     表示构建完成,如果构建失败,我们可以现在jenkins服务器上使用Visual Studio 2017,手动构建,看看是什么原因并解决

     表示发布完成

    jenkins+sonar代码质量扫描+钉钉通知

    https://www.cnblogs.com/xiaoyou2018/p/12486677.html

    参考:

    https://www.cnblogs.com/Yuuuuu/p/8862507.html

    https://juejin.im/post/5d8827b7f265da03c5034de0

    https://www.cnblogs.com/shenh/p/8946404.html

    https://www.jianshu.com/p/c8f30205fc5f     FTP报错

  • 相关阅读:
    nginx反向代理架构与安装配置(一)
    nginx反向代理部署与演示(二)
    php的opcode缓存原理
    php加速缓存器opcache,apc,xcache,eAccelerator
    php的高性能日志系统 seaslog 的安装与使用
    centos7下源码安装mysql5.7.16
    php 使用html5 XHR2 上传文件 进度显示
    php下ajax的文件切割上传
    php 输出缓冲 Output Control
    php单点登陆简单实现 (iframe方式)
  • 原文地址:https://www.cnblogs.com/xiaoyou2018/p/12012512.html
Copyright © 2011-2022 走看看