Jenkins入门(二)Jenkins安装及自动构建部署

这篇具有很好参考价值的文章主要介绍了Jenkins入门(二)Jenkins安装及自动构建部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装环境

1. 机器要求:

256 MB 内存,建议大于 512 MB

10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)

需要安装以下软件:

Java 8 ( JRE 或者 JDK 都可以)

2. 安装JDK

检索可用包

yum search java|grep jdk

安装JRE

yum install java-1.8.0-openjdk

安装JDK

yum install -y java-devel

3.将 jenkins.war 放到服务器中

jenkins.war下载地址(注意版本,我这里用的是):Jenkins 的安装和设置

 执行命令:

java -jar jenkins.war

首次启动war包会在`/root/.jenkins`生成配置文件,待完全启动成功后 访问服务器8080端口完成配置,在控制台会又初始化后的密码:

2022-12-25 11:52:50.697+0000 [id=41]	INFO	hudson.model.AsyncPeriodicWork#lambda$doRun$1: Started Download metadata
2022-12-25 11:52:50.758+0000 [id=41]	INFO	hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2022-12-25 11:52:51.166+0000 [id=26]	INFO	jenkins.install.SetupWizard#init: 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

91fb7749cf4f4320b927b36dc2c45d37

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

不要忘了关闭防火墙哦!,浏览器访问:http://192.168.1.129:8080/

输入初始化密码:91fb7749cf4f4320b927b36dc2c45d37

Jenkins入门(二)Jenkins安装及自动构建部署

 选择安装推荐的插件

Jenkins入门(二)Jenkins安装及自动构建部署

安装完成后,创建管理员 

Jenkins入门(二)Jenkins安装及自动构建部署

Jenkins入门(二)Jenkins安装及自动构建部署

注意:这里启动完jenkins后,建议配置一下免安全认证,不然重启后,登陆报错:

jenkins:RI:	/j_spring_security_check

具体配置如下:

vi /root/.jenkins/config.xml

 将 <useSecurity>true</useSecurity>  改为  <useSecurity>false</useSecurity>   然后重启!

 4. 安装maven

将mavne包放到服务器中

Jenkins入门(二)Jenkins安装及自动构建部署

 解压

tar -vxzf apache-maven-3.8.6-bin.tar.gz

移动并改名

mv apache-maven-3.8.6 /usr/local/maven

5. Jenkins安装插件

登陆Jenkins后,选择 Manage Jenkins

Jenkins入门(二)Jenkins安装及自动构建部署

选择 Manage Plugins 

Jenkins入门(二)Jenkins安装及自动构建部署

 安装构建项目用的 maven集成插件

Jenkins入门(二)Jenkins安装及自动构建部署

最下面等待安装

Jenkins入门(二)Jenkins安装及自动构建部署

 安装完成后,返回首页,点击新建Item

Jenkins入门(二)Jenkins安装及自动构建部署

创建一个maven项目

Jenkins入门(二)Jenkins安装及自动构建部署

将GitLab项目地址添加上,这里也需要在Jenkins服务器中安装git 

注意:Credentials 为添加凭证,这里作为公开测试使用,没有添加

Jenkins入门(二)Jenkins安装及自动构建部署 安装git命令

yum install git

 这里可以指定分支

Jenkins入门(二)Jenkins安装及自动构建部署

6. 配置maven和pom.xml

在 Global Tool Configuration中配置 maven路径,即为服务器安装的路径:/usr/local/maven

Jenkins入门(二)Jenkins安装及自动构建部署

 在之前的项目配置中,配置 pom.xml文件位置:即 项目名称+pom.xml

Jenkins入门(二)Jenkins安装及自动构建部署

7. 修改阿里云镜像

<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!--
 | This is the configuration file for Maven. It can be specified at two levels:
 |
 |  1. User Level. This settings.xml file provides configuration for a single user,
 |                 and is normally provided in ${user.home}/.m2/settings.xml.
 |
 |                 NOTE: This location can be overridden with the CLI option:
 |
 |                 -s /path/to/user/settings.xml
 |
 |  2. Global Level. This settings.xml file provides configuration for all Maven
 |                 users on a machine (assuming they're all using the same Maven
 |                 installation). It's normally provided in
 |                 ${maven.conf}/settings.xml.
 |
 |                 NOTE: This location can be overridden with the CLI option:
 |
 |                 -gs /path/to/global/settings.xml
 |
 | The sections in this sample file are intended to give you a running start at
 | getting the most out of your Maven installation. Where appropriate, the default
 | values (values used when the setting is not specified) are provided.
 |
 |-->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>${user.home}/.m2/repository</localRepository>
  <!-- interactiveMode
   | This will determine whether maven prompts you when it needs input. If set to false,
   | maven will use a sensible default value, perhaps based on some other setting, for
   | the parameter in question.
   |
   | Default: true
  <interactiveMode>true</interactiveMode>
  -->

  <!-- offline
   | Determines whether maven should attempt to connect to the network when executing a build.
   | This will have an effect on artifact downloads, artifact deployment, and others.
   |
   | Default: false
  <offline>false</offline>
  -->

  <!-- pluginGroups
   | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
   | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
   | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
   |-->
  <pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    <pluginGroup>org.mortbay.jetty</pluginGroup>
  </pluginGroups>

  <!-- proxies
   | This is a list of proxies which can be used on this machine to connect to the network.
   | Unless otherwise specified (by system property or command-line switch), the first proxy
   | specification in this list marked as active will be used.
   |-->
  <proxies>
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
     |
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
    -->
  </proxies>

  <!-- servers
   | This is a list of authentication profiles, keyed by the server-id used within the system.
   | Authentication profiles can be used whenever maven must make a connection to a remote server.
   |-->
  <servers>
    <!-- server
     | Specifies the authentication information to use when connecting to a particular server, identified by
     | a unique name within the system (referred to by the 'id' attribute below).
     | 
     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are 
     |       used together.
     |
    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
    -->
    
    <!-- Another sample, using keys to authenticate.
    <server>
      <id>siteServer</id>
      <privateKey>/path/to/private/key</privateKey>
      <passphrase>optional; leave empty if not used.</passphrase>
    </server>
    -->
    <server>
        <id>releases</id>
        <username>ali</username>
        <password>ali</password>
      </server>
      <server>
        <id>Snapshots</id>
        <username>ali</username>
        <password>ali</password>
      </server>
  </servers>

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   |
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <!--This is used to direct the public snapshots repo in the 
          profile below over to a different nexus group -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
    </mirror>
    <mirror>
      <!--This is used to direct the public snapshots repo in the 
          profile below over to a different nexus group -->
      <id>nexus-public-snapshots1</id>
      <mirrorOf>public-snapshots1</mirrorOf> 
      <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
    </mirror>
  </mirrors>

  <!-- profiles
   | This is a list of profiles which can be activated in a variety of ways, and which can modify
   | the build process. Profiles provided in the settings.xml are intended to provide local machine-
   | specific paths and repository locations which allow the build to work in the local environment.
   |
   | For example, if you have an integration testing plugin - like cactus - that needs to know where
   | your Tomcat instance is installed, you can provide a variable here such that the variable is
   | dereferenced during the build process to configure the cactus plugin.
   |
   | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
   | section of this document (settings.xml) - will be discussed later. Another way essentially
   | relies on the detection of a system property, either matching a particular value for the property,
   | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
   | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
   | Finally, the list of active profiles can be specified directly from the command line.
   |
   | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
   |       repositories, plugin repositories, and free-form properties to be used as configuration
   |       variables for plugins in the POM.
   |
   |-->
   <profiles> 
    <profile>
      <id>development</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <!--this profile will allow snapshots to be searched when activated-->
      <id>public-snapshots</id>
      <repositories>
        <repository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>public-snapshots</id>
          <url>http://public-snapshots</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
 
   <activeProfiles>
    <activeProfile>development</activeProfile>
    <activeProfile>public-snapshots</activeProfile>
   </activeProfiles>

  <!-- activeProfiles
   | List of profiles that are active for all builds.
   |
  <activeProfiles>
    <activeProfile>alwaysActiveProfile</activeProfile>
    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
  </activeProfiles>
  -->
</settings>

 8、构建项目包 

Jenkins入门(二)Jenkins安装及自动构建部署

 等待构建完成中可以查看控制台输出

Jenkins入门(二)Jenkins安装及自动构建部署

 构建完成

Jenkins入门(二)Jenkins安装及自动构建部署

Jenkins入门(二)Jenkins安装及自动构建部署

9. 查看构建好的jar包

/root/.m2/repository/com/fan/RabbitmqTest/0.0.1-SNAPSHOT

Jenkins入门(二)Jenkins安装及自动构建部署

 10. 安装 Publish Over SSH 插件

Jenkins入门(二)Jenkins安装及自动构建部署

Jenkins入门(二)Jenkins安装及自动构建部署

11. 添加远程服务器

安装成功后,在系统配置中添加一台远程服务器

Jenkins入门(二)Jenkins安装及自动构建部署

Jenkins入门(二)Jenkins安装及自动构建部署

配置远程服务器信息

Jenkins入门(二)Jenkins安装及自动构建部署

测试为Success 即可

Jenkins入门(二)Jenkins安装及自动构建部署

12. 配置构建后操作

点击项目名称,找到配置

Jenkins入门(二)Jenkins安装及自动构建部署

Jenkins入门(二)Jenkins安装及自动构建部署

 在 Post Steps 中找到刚刚安装的插件

Jenkins入门(二)Jenkins安装及自动构建部署

这里需要注意的是,匹配传递的 jar 包 ,**/ 表示任意目录,实际生成的 jar包名称为:RabbitmqTest-0.0.1-SNAPSHOT.jar,所以,这里也需要匹配

Jenkins入门(二)Jenkins安装及自动构建部署

 重新构建后,自动启动。

Jenkins入门(二)Jenkins安装及自动构建部署

这里传递成功后执行的命令可能会因为nohup日志导致卡死,从而超时,所以对命令进行优化: 

 nohup java -jar /root/hzf/RabbitmqTest*.jar &>mylog.log &

13. 配置运行前Pre Steps清理操作,RabbitmqTest为脚本执行的参数,以jar包名前缀命名

Jenkins入门(二)Jenkins安装及自动构建部署

 在远程服务器root目录下创建 x.sh文件,并编写 shell脚本:

#!/bin/bash

#删除历史数据,自己定义的目录或jar包名
rm -rf RabbitmqTest*

appname=$1
#获取传入的参数
echo "arg:$1"


#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
        then
                echo "$appname not started"

        else
               kill -9 $pid
                echo "$appname stoping...."

check=`ps -ef | grep -w $pid | grep java`
if [ -z $check ];

        then
                echo "$appname pid:$pid is stop"
        else
                echo "$appname stop failed"

fi


fi

修改代码提交后,重新打包,自动部署成功。 文章来源地址https://www.toymoban.com/news/detail-437947.html

到了这里,关于Jenkins入门(二)Jenkins安装及自动构建部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins + Gitlab 实现项目自动化构建及部署

      通俗来讲就是本地项目 push 到 gitlab 后, Jenkins 能够识别到项目的更新并自动构建部署;  本文以实际操作的方式来表述详细配置过程及避开配置 Jenkins 时的坑. 默认电脑已经安装了虚拟机, 默认gitlab 上已经有了你想要部署的项目, 部署了 maven 和 jdk 并配置了环境变量!!! 1 执行

    2024年02月16日
    浏览(54)
  • Jenkins自动化构建部署前端项目(Linux+gitee)

    本文讲述了Jenkins自动化构建部署前端项目,内容包括Linux系统安装Jenkins、如何配置构建项目并发布到目标服务器。 因公司系统项目众多,前端项目打包麻烦,项目代码管理混乱,因此需要gitee+Jenkins做自动化构建,优化项目打包流程及代码管理。 本次教程可实现最简单的自动

    2024年02月03日
    浏览(54)
  • Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

    1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage JenkinstoolsJDK 安装 安装插件 Deploy to container 安装此插件,才能将打好的包部署到tomcat上     配置国内mvn源 创建maven项目 1  2   3    4    5    6    7    8     9 10  

    2024年02月05日
    浏览(54)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月05日
    浏览(69)
  • QT+jenkins window环境实现一键自动化构建打包签名发布

            1.官网下载地址: Jenkins download and deployment,下载最新版本的安装包并安装。安装过程中,会要求你输入端口号并记住。         2.java下载地址:Java Downloads | Oracle,下载最新版本的安装包并安装。         3.浏览器输入网址:127.0.0.1: port, port为端口号,默认8080,安

    2024年02月01日
    浏览(44)
  • Jenkins的环境部署,(打包、发布、部署、自动化测试)

    一、Tomcat环境安装 1.安装JDK(Java环境) JDK下载地址:Java Downloads | Oracle 安装好后在系统环境变量里配置环境变量: ①添加JAVA_HOME 变量名:JAVA_HOME 变量值:C:Program FilesJavajdk1.8.0_181(根据自己的实际路径配置) ②添加CLASSPATH 变量名:CLASSPATH 变量值:.;%JAVA_HOME%libdt.jar;%J

    2024年01月18日
    浏览(41)
  • Ubuntu安装jenkins完成自动化构建

    本篇文章介绍Ubuntu系统中安装jenkins,并使用jenkins完成自动化构建。 Jenkins自动构建部署流程通过git拉取代码,然后用maven打包成jar包,然后通过docker完成项目部署。这里的服务器需要安装jdk(openjdk也行),maven,git,docker,mysql,其他中间件(redis,mq等)。 1.maven安装 Ubuntu的

    2024年02月12日
    浏览(39)
  • 基于Jenkins自动打包并部署Tomcat环境

    目录 1、配置git主机 2、配置jenkins主机 3、配置web主机 4、新建Maven项目 5、验证 Jenkins 自动打包部署结果 Jenkins 的工作原理是先将源代码从 SVN/Git 版本控制系统中拷贝一份到本地,然后根据设置的脚本调用Maven进行 build(构建)。整个系统的关键就是 build 脚本,build 脚本告诉

    2024年02月11日
    浏览(46)
  • 基于jenkins自动化部署PHP环境

    操作系统 IP 地址 主机名 角色 CentOS7.5 192.168.147.141 git git 服务器 CentOS7.5 192.168.147.142 Jenkins git客户端 jenkins服务器 CentOS7.5 192.168.147.143 web web 服务器 具体环境配置见上一篇! 创建一个Freestyle project       build Now          基于ansible部署 修改jenkins运行用户 添加Ansible插件     

    2024年02月11日
    浏览(41)
  • 基于Jenkins自动打包并部署docker环境

    目录 1、安装docker-ce 2、阿里云镜像加速器 3、构建tomcat 基础镜像  4、构建一个Maven项目 实验环境 操作系统 IP地址 主机名 角色 CentOS 7.5 192.168.200.111 git git服务器 CentOS 7.5 192.168.200.112 Jenkins git客户端 jenkins服务器 CentOS 7.5 192.168.200.113 docker web服务器 在192.168.200.113上创建远程目录

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包