• CentOS7安装Jenkins2.7.x并部署服务


    从有道云笔记复制,格式没法保持
     
    前言
    环境:CentOS7 + tomcat8
     
    一、Jenkins
     

    先导入仓库

    
    
    wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
    rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
    安装
    yum install jenkins
     
    启动
    安装JDK后,Jenkins无法启动,需要修改vi /etc/rc.d/init.d/jenkins, 查找,输入/java, 添加新的jre路径 
    # Search usable Java. We do this because various reports indicated
    # that /usr/bin/java may not always point to Java >= 1.6
    candidates="
    /etc/alternatives/java
    /usr/lib/jvm/java-1.6.0/bin/java
    /usr/lib/jvm/jre-1.6.0/bin/java
    /usr/lib/jvm/java-1.7.0/bin/java
    /usr/lib/jvm/jre-1.7.0/bin/java
    /usr/lib/jvm/java-1.8.0/bin/java
    /usr/lib/jvm/jre-1.8.0/bin/java
    /usr/bin/java
    /data/java/jdk1.8.0_101/bin/java
    "
     #systemctl daemon-reload
    #systemctl enable jenkins
    #systemctl start jenkins
     
    访问
     
    提示输入密码,在/var/lib/jenkins/secrets/initialAdminPassword中, 默认用户为admin
     
    登录后提示安装插件,点击“推荐的插件”,推荐的插件不包含maven,需要稍后手动安装(Maven Integration plugin)
     
    安装完成后建立一个初始用户,完成  179: admin/admin, 191&192:weipiao/weipiao
     
    卸载方法
    #yum remove jenkins
     
    要构建maven项目的话,需要手动配置JDK,Maven,并给本地仓库设置权限(chmod 777 仓库路径),遇到Maven仓库配置时,提示不是maven目录的提示,重新解压后解决,Maven的配置文件从本机复制
     
     
    二、部署dubbo服务
     
    1. 新建
     
    2. 配置SVN
     
    3. 添加要执行的命令,Goals and options : clean compile  exec:java -Dexec.mainClass="Main"
     
    4. 保存后,点击“立即构建”执行,鼠标悬停在当前构建日期上时,有下拉菜单,可以进行相关操作
     
    三、部署web服务
     
    1. 与部署dubbo服务的区别为Goals and options 改为 tomcat7:deploy
     
    2. 配置maven/conf/settings.xml,添加tomcat管理用户
        <!-- jenkins使用 -->
        <server>  
            <id>tomcat8</id>  
            <username>tomcat</username>  
            <password>tomcat</password>  
        </server>
     
    3. 配置tomcat/conf/tomcat-users.xml,网上的教程很多都只配置manager,实际要同时有admin与manager的权限才够,如果是tomcat9,需要tomcatwebappsmanagerMETA-INFcontext.xml中
    注释
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />
     
    tomcat-users.xml:
        <!-- jenkins需要 -->
          <role rolename="manager"/>
          <role rolename="manager-gui"/>  
          <role rolename="manager-script"/>  
          <role rolename="manager-jmx"/>  
          <role rolename="manager-status"/>  
     
          <role rolename="admin"/> 
          <role rolename="admin-gui"/>  
          <role rolename="admin-script"/>  
          <role rolename="admin-jmx"/>  
          <role rolename="admin-status"/>  
     
          <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,manager-script,manager-jmx,manager-status" /> 
          <user username="admin" password="admin" roles="admin,admin-gui,admin-script,admin-jmx,admin-status" />
     
    四、pom.xml中的配置
     
    service:
    <build>
    <defaultGoal>compile</defaultGoal>
    <resources>
    <resource>
    <targetPath>${project.build.directory}/classes</targetPath>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    <includes>
    <include>**/*.xml</include>
    <include>**/*.properties</include>
    </includes>
    </resource>
    </resources>

    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.4.2</version>
    <configuration>
    <skipTests>true</skipTests>
    </configuration>
    </plugin>

    <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
    <classesDirectory>target/classes/</classesDirectory>
    <archive>
    <manifest>
    <!--实际为调用com.alibaba.dubbo.container.Main-->
    <mainClass>Main</mainClass>
    <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
    <useUniqueVersions>false</useUniqueVersions>
    <addClasspath>true</addClasspath>
    <classpathPrefix>lib/</classpathPrefix>
    </manifest>
    <manifestEntries>
    <Class-Path>.</Class-Path>
    </manifestEntries>
    </archive>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
    <execution>
    <id>copy-dependencies</id>
    <phase>package</phase>
    <goals>
    <goal>copy-dependencies</goal>
    </goals>
    <configuration>
    <type>jar</type>
    <includeTypes>jar</includeTypes>
    <!--<useUniqueVersions>false</useUniqueVersions>-->
    <outputDirectory>
    ${project.build.directory}/lib
    </outputDirectory>
    </configuration>
    </execution>
    </executions>
    </plugin>
    </plugins>

    </build>
    web:
    <build>
    <finalName>web-demo</finalName>
    <plugins>
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <configuration>
    <port>9090</port>
    <uriEncoding>UTF-8</uriEncoding>
    <url>http://127.0.0.1:9090/manager/text</url>
    <!--在maven的settings.xml中有配置的-->
    <server>tomcat8</server>
    <path>/web-demo</path>
    </configuration>
    </plugin>
    </plugins>
    </build>
     

    五、部署WEB服务2
    如果使用jetty插件,则简单很多,运行命令为:clean compile jetty:run。
    以下为插件配置:
    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.3.12.v20160915</version>
      <configuration>
      <!-- 指定监控的扫描时间间隔,0为关闭jetty自身的热部署,主要是为了使用jrebel -->
      <scanIntervalSeconds>0</scanIntervalSeconds>
      <httpConnector>
      <port>9090</port>
      </httpConnector>
      <webApp>
        <contextPath>/</contextPath>
      </webApp>
      <!-- 指定额外需要监控变化的文件或文件夹,主要用于热部署中的识别文件更新 -->
      <scanTargetPatterns>
        <scanTargetPattern>
          <directory>src</directory>
          <includes>
            <include>**/*.java</include>
            <include>**/*.properties</include>
          </includes>
          <!-- <excludes> <exclude>**/*.xml</exclude> <exclude>**/myspecial.properties</exclude> </excludes> -->
        </scanTargetPattern>
      </scanTargetPatterns>
      <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
      </configuration>
    </plugin>

     
     
     
  • 相关阅读:
    C#ModBus Tcp 报文解析
    C#ModBus Tcp的学习及Master的实现
    C#原生Socket服务器与客户端的实现
    转载:C# 创建、部署和调用WebService的简单示例
    记kepServer读写西门子PLC
    C#实现某一属性值变化时触发事件
    C#倒计时关闭提示框
    C#SuperSocket的搭建--通过配置启动
    C#串口扫描枪的简单实现
    C#SuperSocket服务器的简易实现
  • 原文地址:https://www.cnblogs.com/weijs/p/5750304.html
Copyright © 2020-2023  润新知