实现自动化部署

1. JDK 1.8 安装

Centos 7 环境,配置 jenkins 实现自动化部署

  1. 安装 jdk 1.8

    # 自己想办法在官网下载
    https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
    
    Linux x64 Compressed Archive    186.09 MB    jdk-8u251-linux-x64.tar.gz
  2. 创建目录

    mkdir /usr/local/java/
  3. 解压

    tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/java/
  4. 配置环境

    vim /etc/profile
    
    添加
    
    export JAVA_HOME=/usr/local/java/jdk1.8.0_251
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
  5. 让其生效

    source /etc/profile
  6. 增加软链路

    ln -s /usr/local/java/jdk1.8.0_251/bin/java /usr/bin/java
  7. 检查

    java -version

2. Jenkins 安装

官方: https://www.jenkins.io/download/

选择 centOS

通过官方提供的 shell 语句安装 jenkist

  1. 卸载

    # 查询以前是否安装jenkins
    rpm -qa |grep jenkins
    
    # 卸载
    rpm -e jenkins
    
    # 彻底删除jenkins残留文件
    find / -iname jenkins | xargs -n 1000 rm -rf
  2. jenkist 库安装

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  3. jenkist 安装

    # 中途会提示 jenkins 是否下载,填 y 即可。
    
    yum install jenkins
  4. 启动/停止服务

    sudo /etc/init.d/jenkins start
    sudo /etc/init.d/jenkins stop
  5. 访问

    http://xxxx:8080/
    
    # 选择安装推荐的插件,等安装完就可省略 -> 设置中文。 
  6. 设置中文

    # Manage Jenkins -> Manage Plugins -> Avaliable  然后在右边 filter搜索框中搜索 Locale 进行安装、再搜索 Localization: Chinese(Simplified)
    # Manage Jenkins -> Configure System -> Locale 输入 zh_CN 下面 ignore 打上勾,然后点击 Apply
    # 在 url 中输入 http://xxxx:8080/restart 重启即可。
  7. 配置 git

    # 选择源码管理 -> git -> Repository url 输入 -> credentials 创建全局凭证输入 git 账号密码
    # 安装 Generic Webhook Trigger Plugin 重启 -> 构建触发器 Generic Webhook Trigger 打勾
  8. github 配置 webhook,这一步已经实现自动拉取数据

    # GitHub 仓库设置 -> Webhooks -> Playload Url 输入以下内容
    # Manage Jenkins -> Manage Users -> 用户列表右边的齿轮图标,点击 -> 添加新 Token 点击
    http://《jenkins Name》:《token》@《ip》:《port》/generic-webhook-trigger/invoke
  9. 自动构建

    # 安装 nvm wrapper -> 进入项目页,构建环境 Run the build 勾选 -> Node Version 填上 12.16.3
    # 构建 -> 添加构建步骤 -> Excute Shell -> 输入指令,多条指令以 && 分隔
  10. 构建 -> 执行 shell

    npm run build&&
    rm -rf /www/wwwroot/book/*&&
    mv book/* /www/wwwroot/book &&
    rm -rf book
    

    删除当前文件夹,指定文件以外所有目录及文件。忽略单个文件 !(),忽略多个使用 !(a|b)

    shopt -s extglob
    rm -fr /www/wwwroot/nodeBlog/!(node_modules)
    shopt -u extglob
    # node 项目
    
    shopt -s extglob
    rm -fr /www/wwwroot/nodeBlog/!(node_modules)
    shopt -u extglob
    mv nodeBlog/* /www/wwwroot/nodeBlog &&
    pm2 restart "node"

留言

暂无评论

我要发表看法