当前位置: 首页 > news >正文

阿里云服务器 ECS部署jenkins

连接ssh

方式1:使用ecs控制台的远程连接

方式2:使用cmd命令

ssh root@$ip// $ip替换成自己的ip
输入密码(可以重置密码设置一个自己的密码)

查看ip

重置密码

Jenkins的配置和安装过程

安装Java环境

Jenkins本身是依赖Java的,所以需要先安装Java环境,这里安装了Java 11的环境,新版jenkins最低支持需java 11版本以上

dnf install java-11-openjdk

安装node.js环境(使用nvm)

1.安装分布式版本管理系统Git。

sudo yum install git -y

2.使用Git将NVM的源码克隆到本地的~/.nvm目录下,并检查最新版本。

git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

3.依次运行以下命令,配置NVM的环境变量。

sudo sh -c 'echo ". ~/.nvm/nvm.sh" >> /etc/profile'
source /etc/profile

4.运行以下命令,修改npm镜像源为阿里云镜像,以加快Node.js下载速度。

export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node

5.运行以下命令,查看Node.js版本。

nvm list-remote

6.安装多个Node.js版本。

nvm install v16.17.1
nvm install v18.20.4

7.查看已安装的Node.js版本。

nvm ls

连接Jenkins仓库

因为Jenkins本身是没有在dnf的软件仓库包中的,所以需要连接Jenkins仓库:

  • wgetLinux中下载文件的一个工具,-O表示输出到某个文件夹并且命名为什么文件;

  • rpm:全称为The RPM Package Manage,是Linux下一个软件包管理器;

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo# 导入GPG密钥以确保您的软件合法
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

安装Jenkins

yum install jenkins

Jenkins的启动、访问和安装插件

启动Jenkins服务

systemctl start jenkins
systemctl status jenkins
systemctl enable jenkins

Jenkins默认使用8080端口提供服务,所以需要加入到安全组中:

访问Jenkins

浏览器输入ip:8080测试jenkins服务是否成功启动

jenkins管理员密码

cat /var/lib/jenkins/secrets/initialAdminPassword

在ssh中输入以上命令会返回jenkins管理员密码

安装Jenkins推荐的插件

安装默认推荐的Jenkins插件:

配置Jenkins

创建管理员用户

为Jenkins添加插件

注意:除了汉化插件其他插件截图均为已安装后的 需要切换到【Available plugins】搜索

Chinese  汉化程序(安装完成后重启jenkins生效)

 

安装NodeJS Plugin插件

安装Gitee Plugin插件

安装Publish Over SSH插件

给jenkins添加配置

node配置

【全局工具配置】下配置NodeJs安装

Jenkins URL配置

【系统配置】下Jenkins URL输入jenkinsip+端口

SSH Servers配置

【系统配置】下找到SSH Servers,添加信息高级里面输入密码,然后点击Test Configuration 显示success说明连接成功

磁盘空间不足处理

如果出现磁盘空间不足,修改jenkins启动配置文件/usr/lib/systemd/system/jenkins.service

红色代码修改为绿色

Environment="JAVA_OPTS=-Djava.awt.headless=true"修改为:
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.io.tmpdir=/root/temp"

修改后重启jenkins

systemctl restart jenkins

实现自动化部署 

步骤1:创建任务

新建任务->输入任务名称->构建一个自由风格的软件项目->确定

步骤2:源码管理
  • 如果项目为私有项目,需要添加一个用户,如果为账号密码,则输入giteegithub对应的账号和密码。

步骤3:构建触发器

步骤4:构建环境

步骤5:添加Shell脚本

#!/bin/bash -il
pwd
node -v
npm -v
# 删除/root/xxx文件夹里所有的内容
rm -rf /root/www/* # 将根目录里所有的内容复制到xxx
cp -rf ./* /root/www/
# 检查依赖是否已经安装
if [ ! -d "node_modules" ]; thenecho "Installing dependencies..."npm install
elseecho "Dependencies already installed."
fi
步骤6:GitEE设置WebHooks 管理

步骤7:给jenkins权限

1.给目录权限

chown -R jenkins  path
# 例:chown -R jenkins  /root/www

2.给root权限

sudo usermod -a -G root jenkins
步骤8:推送代码

*注意:完成前7个步骤后重启下Jenkins

推送代码到仓库后,查看Jenkins是否有进行打包,有说明成功了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 《企业净零排放实用手册》:助力中小企业实现“双碳”目标
  • 工业智能网关在汽车制造企业的应用价值及功能-天拓四方
  • EVAL长度突破限制
  • Golang 并发编程
  • 【相机与图像】2. 相机内外参的标定的代码示例
  • 中国科技统计年鉴,数据覆盖1991-2022年多年份
  • 基于Python大数据的电商产品评论的情感分析设计与实现,包括lda主题分析和情感分析
  • 面经精选:数据库高频面试十问
  • Python 为Excel单元格设置填充\背景色 (纯色、渐变、图案)
  • 【计算机网络——internet结构和ISP】
  • LVS-NAT + LVS-DR
  • three.js 安装方法、基础简介、创建基础场景
  • RDF引用XML资源的示例
  • linux搭建zabbix
  • LVGL——(4)标签控件
  • 深入了解以太坊
  • JavaScript-如何实现克隆(clone)函数
  • 【css3】浏览器内核及其兼容性
  • exif信息对照
  • JavaScript 基本功--面试宝典
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • React系列之 Redux 架构模式
  • tab.js分享及浏览器兼容性问题汇总
  • 反思总结然后整装待发
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 记录一下第一次使用npm
  • 七牛云假注销小指南
  • 前嗅ForeSpider中数据浏览界面介绍
  • 移动端 h5开发相关内容总结(三)
  • 以太坊客户端Geth命令参数详解
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Semaphore
  • #QT项目实战(天气预报)
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • $NOIp2018$劝退记
  • (C++20) consteval立即函数
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (苍穹外卖)day03菜品管理
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (九十四)函数和二维数组
  • (十八)三元表达式和列表解析
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET : 在VS2008中计算代码度量值
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net core 6 集成和使用 mongodb
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET 使用配置文件
  • .Net开发笔记(二十)创建一个需要授权的第三方组件