zoukankan      html  css  js  c++  java
  • jenkins+maven+svn+npm自动发布部署实践

    一、系统版本centos7.6

    二、根据jenkins官方安装方法yum安装jenkins

    1、进入jenkins官网下载页面https://jenkins.io/download/,选择Red Hat/Fedora/CentOS

    2、根据官方要求需首先安装java8

    yum install java-1.8.0-openjdk-devel -y

    3、然后导入jenkins yum源

    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

    4、yum安装jenkins

    yum install jenkins -y

    5、手动启动jenkins

    /etc/init.d/jenkins start

    查看8080端口启动即可

    6、通过浏览器访问设置jenkins,http://192.168.0.77:8080/

    初始的管理员密码,jenkins自动生成的,根据页面红色的路径找到密码,拷到下面的输入框中。

    选择默认建议安装插件

    7、安装完进入后选择系统管理-插件管理,手动安装Maven Integration plugin

    三、系统安装maven程序

    1、进入maven官网http://maven.apache.org/download.cgi#,选择maven二进制tar包下载

    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

    2、解压maven包

    tar -zxvf /root/apache-maven-3.6.0-bin.tar.gz -C /usr/local

    四、安装nodejs和npm

    1、去官网下载nodejs二进制包https://nodejs.org

    因为我们使用的是node8.11.1,我这次安装也使用这个版本

    wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz

    2、解压nodejs包

    tar -zxvf node-v8.11.1-linux-x64.tar.gz -C /usr/local/

    3、为了使用方便可以把nodejs命令加入到PATH路径

    vim /etc/profile

    export PATH=$PATH:/usr/local/node-v8.11.1-linux-x64/bin

    source /etc/profile

    4、npm安装包在国外,安装较慢,更换淘宝npm源

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    五、配置jenkins上jdk和maven路径,进入系统管理-全局工具配置

     六、构建项目设置

    1、新建任务,构建一个maven项目

     2、常规设置里面选择丢弃旧的构建,保留5天5次即可

    3、源码管理选择svn,填写svn地址和svn账号密码

    4、可以根据需要选择构建触发器,我这是手动构建,所以不选,构建环境选择在构建前删除原来构建项目

    5、构建前步骤,因为我的项目需要首先npm打包后再给maven打包,所以在构建前需要执行shell命令进行npm打包

    6、构建按如下写即可

    7、构建后执行shell命令,首先远程关闭tomcat,然后删除tomcat webapps下文件,然后上传打包好的war包到tomcat下,然后启动tomcat

    七、构建项目

    1、点刚才创建的项目-立即构建,开始构建

    2、发现最后远程执行命令报错,虽然之前也做了这两台机器无密钥登录,但是还是报错,查找原因后发现,yum安装jenkins后会自动创建一个jenkins账号,jenkins服务是以jenkins账号启动,所以需要做jenkins账号到远程部署服务器无密钥登录

    这里注意几个坑:

    1、默认jenkins账号是不允许登录的,需修改/etc/passwd里jenkins账号/bin/false为/bin/bash后才能切换到jenkins账号创建密钥

    2、jenkins账号默认家目录是/var/lib/jenkins

    3、需要开启jenkins账号sudo无密码登录,在/etc/sudoers里加入jenkins ALL=NOPASSWD:ALL

    4、linux第一次ssh连接远程机器会有公钥确认提示,需要输入yes后才能继续,我们需要关闭提示,否则构建时候远程命令执行没法通过,在/etc/ssh/ssh_config里StrictHostKeyChecking ask改为StrictHostKeyChecking no,重启sshd服务

  • 相关阅读:
    PHP中require()文件包含的正确用法
    Android Studio开发环境的配置
    卡宴
    Android Studio 简单介绍和使用问题小结
    android:ToolBar详解(手把手教程)
    Android --- 读取系统资源函数getResources()小结
    Android Studio 提示Error running app: No Android facet found for app
    iOS开发之-- 抢购、距活动结束,剩余时间倒计时
    iOS开发之--实现倒计时显示时分秒
    iOS开发之--获取验证码倒计时及闪烁问题解决方案
  • 原文地址:https://www.cnblogs.com/mkxfs/p/10529559.html
Copyright © 2011-2022 走看看