安装Jenkins

拉取Jenkins镜像

docker pull jenkinsci/blueocean

运行镜像

docker run -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --restart=always jenkinsci/blueocean

浏览器访问

http://IP:8080

首次访问需要输入解锁密码。该密码可以在启动日志中查看,位于两组星号之间,如下图

查看日志

docker logs xenodochial_hoover

Jenkins配置

配置邮件通知

进入【系统管理】-【系统配置】

【Jenkins Location】

输入系统管理员邮件地址

【邮件通知】

依次输入smtp服务器地址、选中“使用SMTP认证”,输入用户名、密码,选中使用SSL协议,输入SMTP端口

注:该配置以QQ邮箱为例,密码为授权码,非邮箱密码,可以进入QQ邮箱设置-账户-生成授权码获取

​ 若没有配置系统管理员邮箱会造成邮件发送失败

设置时区为北京时间

进入 【系统管理】-【脚本命令行】运行下面的命令


System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

自动打包Maven项目并创建docker镜像

安装及配置插件

进入【系统管理】-【插件管理】-【可选插件】

输入Maven Integration plugin、GitLab Plugin、Gitlab Hook Plugin,点击直接安装

进入【系统管理】-【全局工具配置】

依次配置Mavne配置、JDK、Git、Maven

安装Mavnen插件后,可以将自己的settings.xml覆盖到docker容器中插件的配置目录,地址如下

/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.6.3/conf/settings.xml

配置Mavne项目自动打包

进入【首页】-【新建任务】,输入任务名称,选择【构建一个Maven项目】,点击确定

【General】部分根据需要自行添加和选择

【源码管理】可以选择Git,输入git仓库URL和Credentials,选择根据指定分支打包

【Credentials】首次创建任务需要新建,选择【添加】-【Jenkins】输入用户名和密码,点击添加即可

【构建触发器】可以选择当git分支提交时,自动构建或其他构建方式。

需要git分支提交代码自动构建时,需要复制【GitLab webhook URL】到git仓库的【Webhooks】配置URL中,选择需要的Trigger,取消Enable SSL verification选中,点击添加。

【构建环境】可以根据需要配置

【Pre Steps】选择“调用顶层Maven目标”,选择安装的Maven,目标为clean install即可,高级配置中,配置文件选择“使用默认maven配置即可”

【Build】“Root POM”为pom.xml,“Goals and options”为clean install

【Post Steps】为构建成功后的操作,此处可以配置将jar包打包成Docker镜像,并推送到Harbor仓库,并在指定机器拉取镜像并启动服务

【构建设置】可以在以上步骤执行后,对于构建失败的情况发送邮件通知

【构建后操作】可以配置构建之后的其他操作

完成配置后点击保存即可,下图是完整的配置信息

注:配置GitLab提交代码之后自动触发Jenkins构建还需要配置【全局安全设置】

进入【系统管理】-【全局安全配置】-【授权策略】

选择“安全矩阵”

Anonymous Users选择“任务”-“build”

添加用户并将admin账户的权限全部勾选(重要

如下图

配置Vue项目自动打包

安装及配置插件

进入【系统管理】-【插件管理】-【可选插件】

输入NodeJS,点击直接安装

进入【系统管理】-【全局工具配置】

配置NodeJS

如果出现问题,可以进入容器手动安装,命令如下

docker exec -it 对应容器名称 bash

安装nodejs

apk add --no-cache nodejs

检查node

node -v

若提示错误,可以尝试添加软链

ln -s /usr/bin/node /bin/node

配置Vue项目自动打包

进入【首页】-【新建任务】,输入任务名称,选择【构建一个自由风格的软件项目】,点击确定

【General】部分根据需要自行添加和选择

【源码管理】可以选择Git,输入git仓库URL和Credentials,选择根据指定分支打包

【Credentials】首次创建任务需要新建,选择【添加】-【Jenkins】输入用户名和密码,点击添加即可

【构建触发器】可以选择当git分支提交时,自动构建或其他构建方式。

需要git分支提交代码自动构建时,需要复制【GitLab webhook URL】到git仓库的【Webhooks】配置URL中,选择需要的Trigger,取消Enable SSL verification选中,点击添加。

【构建环境】选中“Provide Node & npm bin/ folder to PATH”,使用默认配置即可

【构建】可以根据需要添加shell命令或其他操作

【构建后操作】可以配置构建之后的其他操作,例如构建失败后发送邮件

完成配置后点击保存即可,下图是完整的配置信息

安装Jenkins及配置自由风格自动打包部署相关推荐

  1. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  2. 手把手教你配置:Jenkins+Github+Webhook +Nginx自动化打包部署Vue项目

    前面的话 为了前端项目的工程化,减少项目发布环境的部署,实现自动化打包部署. 传统的做法,在服务器初始一个 git 仓库,然后每次代码更新后,手动去拉取,次数多了也就烦了,而自动化打包部署每次只需在项 ...

  3. 自动打包linux,使用Jenkins如何自动打包部署linux

    使用Jenkins如何自动打包部署linux 发布时间:2020-11-25 14:47:07 来源:亿速云 阅读:86 作者:Leah 使用Jenkins如何自动打包部署linux?很多新手对此不是 ...

  4. 项目自动打包部署脚本

    项目自动打包部署脚本 本次自动打包部署依赖于git.maven来实现自动化部署项目 一.远程服务器安装git 检查git是否已安装: sh-3.2# git --version git version ...

  5. Springboot项目自动打包部署插件 (wagon-maven-plugin)

    Springboot项目自动打包部署插件 (wagon-maven-plugin) pom.xml文件添加配置: <properties>中添加: <service-path> ...

  6. Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程

    服务器系统 centOS 8.2 1. 运行环境安装 1.1 安装 jdk 上传安装包,然后解压 [root@ianly ~]# tar -zxvf jdk-8u144-linux-x64.tar.g ...

  7. Jenkins + GitLab + CocoaPod 的自动打包平台配置(从build到export success)

    目录 1. 安装JAVA环境 2. 安装Jenkins 3. 管理插件 4. 项目新建和设置 5. Keychains and Provisioning Profiles Management配置(重 ...

  8. vue 自动打包部署上传服务器

    简单的4步配置,即可实现一键上传 执行命令 npm i fe-deploy-cli -g 进行全局安装 在项目根目录执行命令 deploy init 生成deploy文件夹 修改deploy文件夹下面 ...

  9. 前端自动打包部署服务器

    因为负载均衡,每次前端开发完成:都需要先打包,然后在多台服务器上进行文件删除.文件上传的操作,多台打包比较麻烦. 考虑到自动多台打包部署问题,写一个自动部署. 本次用到shelljs和ssh2-sft ...

最新文章

  1. LeetCode Lowest Common Ancestor of a Binary Tree(LCA问题)
  2. 分享一下cookies操作(增、删、改、查)小经验
  3. IDEA Terminal命令行运行javac时,一个类运用另一个类的方法找不到符号的问题
  4. linux解决windows应用程序,关于Linux下使用Windows应用程序的尝试总结
  5. 非多态的继承情况下,基类指针可以指向派生类对象么?
  6. 面试让HR都能听懂的MySQL锁机制,欢声笑语中搞懂MySQL锁
  7. scjp java程序员_Sun认证Java程序员(SCJP)考试
  8. 工业相机基本参数以及选型参考
  9. python写的ROS激光雷达扇形滤波
  10. 华三F100 系列防火墙 - 浮动路由联动NQA 实现双线路自动切换
  11. yxy小蒟蒻的201113总结
  12. 从What到How,大数据实战攻略秘笈
  13. 计算机硬盘坏的原因,硬盘损坏的原因有哪些 硬盘正确使用方法介绍
  14. 三角波的傅里叶变换对_《傅里叶光学(一)》 复数、特殊函数和冲激函数
  15. history 路由 vs hash 路由 vs location.href 实现跳转
  16. MongoDB内嵌文档查询
  17. Latex固定表格图片位置
  18. 有关xml中的xmlns
  19. Kubernetes 笔记(06)— 搭建多节点集群、kubeadm 安装 master/worker/console/flannel 网络插件
  20. 2021年云原生技术趋势

热门文章

  1. 获取的输入内容,没有被P标签包裹的文本和元素进行处理
  2. 结对编程 四则运算 第一周小结
  3. Visual Studio 2017更新内容记录
  4. WP7上Metro风格的程序栏图标汇总
  5. Windows 窗设计时结构
  6. 2021-11-18哈希值
  7. 模拟点击与鼠标点击区别_没有root权限也可以用adb玩机2——模拟按键点击脚本...
  8. FPGA的发展历史及相关名词解释
  9. 计算机视觉与深度学习 | 深度学习与VO、SLAM、三维重建【论文及代码篇】
  10. C语言 | 哈夫曼(haffman)算法实现数据的解压缩(源代码)