腾讯云的devops自动化部署代替jenkins
起因
jenkins太耗内存了,经常导致服务器崩。
了解到devOps也是做类似的服务的,遂用之。
serverless framework也可以做这个,但是截至目前,只能够打包node项目。
devOps服务器运营商基本都提供,比如腾讯云、阿里云、亚马逊云等,使用方法大致相同
流程配置
devops核心内容就是pipeline 即流程配置。下边提供几个常用的配置
前端项目 推送到服务器
这里拿一个react项目,打包完 将内容推送到服务器的根目录
pipeline {
agent {
docker {
reuseNode 'true'
registryUrl 'https://coding-public-docker.pkg.coding.net'
image 'public/docker/nodejs:19-2022'
}
}
stages {
stage('获取仓库代码') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: GIT_BUILD_REF]],
userRemoteConfigs: [[
url: GIT_REPO_URL,
credentialsId: CREDENTIALS_ID
]]])
}
}
stage('安装依赖') {
steps {
sh 'yarn'
}
}
stage('打包产物') {
steps {
sh 'yarn build'
sh "tar -zcvf tmp.tar.gz build"
}
}
stage('部署') {
steps {
echo '部署中...'
script {
def remote = [:]
remote.name = '腾讯云'
remote.allowAnyHosts = true
remote.host = '82.157.146.87'
remote.port = 22
remote.user = 'root'
withCredentials([usernamePassword(credentialsId: '6de4c5ea-8436-4ed5-9e33-2b737f6f3032', passwordVariable: 'password', usernameVariable: 'userName')]) {
remote.user = "${userName}"
remote.password = "${password}"
// SSH 上传文件到远端服务器
sshCommand remote: remote, sudo: true, command:'rm -rf /usr/share/nginx/html/*'
sshPut remote: remote, sudo: true, from: './tmp.tar.gz', into: '/usr/share/nginx/html/tmp.tar.gz'
// // 解压缩
sshCommand remote: remote, sudo: true, command: "tar -zxf /usr/share/nginx/html/tmp.tar.gz --strip-components 1 -C /usr/share/nginx/html"
}
}
echo '部署完成'
}
}
}
}
如果不想放到服务器根目录,放到别的目录也是可以的
pipeline {
...
stages {
...
stage('部署') {
steps {
echo '部署中...'
script {
...
withCredentials([usernamePassword(credentialsId: '6de4c5ea-8436-4ed5-9e33-2b737f6f3032', passwordVariable: 'password', usernameVariable: 'userName')]) {
...
// SSH 上传文件到远端服务器
sshCommand remote: remote, sudo: true, command:'rm -rf /usr/share/nginx/html/*'
sshPut remote: remote, sudo: true, from: './tmp.tar.gz', into: '/usr/share/nginx/html/tmp.tar.gz'
// // 解压缩
sshCommand remote: remote, sudo: true, command: "tar -zxf /usr/share/nginx/html/tmp.tar.gz --strip-components 1 -C /usr/share/nginx/html"
}
}
echo '部署完成'
}
}
}
}
腾讯云的devops自动化部署代替jenkins的更多相关文章
- Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)
Jenkins-在windows上配置自动化部署(Jenkins+Gitblit) 1. 安装好 Jenkins(注:安装目录需没有空格,否则安装gitlab hook 插件时会报错,安装在c盘跟目录 ...
- Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS)
Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS) web部署样例 windows服务部署样例 系统备份 在服务器上创建后缀名为.ps1的文件,例:BackUpD ...
- Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher)
Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher) 环境:centos7 首先在服务器上安装好Jenkins和Gitlab和Rancher Gitlab安装 ...
- 微软Azure DevOps自动化部署
1.准备一个https://hub.docker.com账号,申请一个免费的镜像仓库(免费账户可以申请一个) 创建docker远程镜像库 2.新建一个mvc的项目 给这个项目加上Dockerfile文 ...
- 腾讯云服务器、nginx部署loopback
最近在研究学习nginx,买了腾讯云服务器.在阿里上申请了域名,部署项目遇到很多问题记录一下,以备后用: 1.在腾讯服务器买好,阿里域名申请好后(也可以在腾讯上申请域名),需要添加安全组,创建不同的规 ...
- 腾讯云centos6.5下部署django环境
基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...
- 腾讯云服务器ubuntu18.04部署禅道系统
踩了不少坑,记录一下. 基于ubuntu18.04 一开始按照网上的攻略下载安装包 ZenTaoPMS.9.8.3.zbox_64.tar.gz,通过FileZilla传到linux的/opt下面,解 ...
- node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins
前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...
- K8S搭建自动化部署环境 Jenkins下载、安装和启动
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.jenkins 下载 jenkins下载地址:https://jenkins.io/zh/download/ 如下图,左边是稳定版本,右边是每 ...
- Linux、Debian、Jenkins、GIT、Nginx、码云安装,自动化部署前后端分离项目
1.安装Jenkins i:下载Jenkins安装包(war文件):https://jenkins.io/download/ ii:这里采用Tomcat的war包方式安装,讲下载好的安装包放到Tomc ...
随机推荐
- CSP - J理论(1)
CSP-J理论(1) CSP-J理论合集跳转 目录 本目录中所有标题单击均可以快速跳转哦 一.排列组合与概率 $\ \ \ \ \ $1.排列 $\ \ \ \ \ $2.组合 $\ \ \ \ \ ...
- Windows 提权指南
男儿若遂平生志,五经勤向窗前读. 导航 壹 - Se 特权 贰 - RunAs 叁 - 弱服务 肆 - Windows 内核 伍 - 密码搜寻 陆 - 杂项 AlwaysInstallElevated ...
- 企业级开源CMS新标杆,三分钟搭建多语言官网!
HuoCMS是基于ThinkPHP6和Vue3研发的现代化内容管理系统,专为中小企业及开发者打造全场景数字化解决方案.系统采用MIT开源协议,支持多语言.多终端适配,内置可视化编辑器与SEO优化体系, ...
- Debian 12 安装&卸载 MySQL 8.4 教程
MySQL 8.4 安装指南 本指南将详细介绍如何在 Linux (Debian/Ubuntu) 上手动安装 MySQL 8.4,并进行基本配置. MySQL官网 1. 安装前准备 1.1 更新系统并 ...
- 如何使用Flutter开发执行操作系统shell命令的工具
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- 操作系统:详解socket的接口实现
上节了解了套接字的工作机制和数据结构,但套接字有哪些基本接口实现呢? 套接字接口 套接字接口最初是 BSD 操作系统的一部分,在应用层与 TCP/IP 协议栈之间接供了一套标准的独立于协议的接口. L ...
- 网络编程:select
原理:参考:https://my.oschina.net/fileoptions/blog/911091 select中内核函数有哪些 源码实现: #undef __NFDBITS #define _ ...
- React-Native开发鸿蒙NEXT-蓝牙与图片处理的更正补充
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- 面试题:Java并发编程生产者和消费者有序消费问题
摘要:对于一个资源对象,必须先生产再消费,消费后再生产,如此循环往复.为了解决这个并发问题,提供两种解决方案,一是使用synchronized关键字和Object对象的监听器,二是使用java.uti ...
- 洛谷 P2731 [USACO3.3]骑马修栅栏 Riding the Fences
题意描述 每个栅栏是一条无向边,找出字典序最小的欧拉路.数据保证至少有一个解. 最多 \(500\) 个点, \(1024\) 条边. 分析 看着如此微小的数据范围,随便瞎搞都行使用矩阵来存储边,同时 ...