腾讯云的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 ...
随机推荐
- astc内存大小计算方式
https://www.cnblogs.com/bylle/p/12212823.html
- MCP应用docker部署,docker-compose部署
一.概述 前面几篇文章,MCP应用直接用的python3 server.py运行的,如果服务器重启,进程就会关掉,很不方便. 所以需要使用docker部署,实现开机自启动. 二.docker部署 my ...
- .net6 api添加接口注释
参照: .NET 6 Swagger添加xml注释 - 凡尘一叶~ - 博客园 (cnblogs.com)[这个比较准] .net core的Swagger接口文档使用教程(一):Swashbuckl ...
- 探秘Transformer系列之(31)--- Medusa
探秘Transformer系列之(31)--- Medusa 目录 探秘Transformer系列之(31)--- Medusa 0x00 概述 0x01 原理 1.1 动机 1.2 借鉴 1.3 思 ...
- 掌握DevEco Studio模拟器这些“隐藏功能”,让鸿蒙应用调试效率事半功倍
在鸿蒙应用开发过程中,调试环节常常直接影响开发效率与体验.为提升开发者调试的便捷性与效率,华为在DevEco Studio上提供了模拟器功能,它不仅能模拟鸿蒙手机.折叠屏.平板等真实设备的基本功能,还 ...
- 【BERT】详解BERT
一.为什么要提出BERT? 传统的RNN类模型,包括LSTM,GRU以及其他各种变体,最大的问题在于提取能力不足.在<Why Self-Attention? A Targeted Evaluat ...
- C# unsafe 快速复制数组
(1) /// <summary> /// 复制内存 /// </summary> /// <param name="dest">目标指针位置& ...
- 「C++黑魔法」future与promise:不加锁的异步编程,原来可以这么简单!
大家好,我是小康. 你是否曾经为了让程序同时做多件事而绞尽脑汁?是否被多线程编程的各种锁.条件变量搞得头昏脑胀?今天,我要告诉你一个秘密武器,让你轻松驾驭异步编程的海洋! 前言:为什么要学future ...
- CSP-S 2020模拟训练题1-信友队T2 挑战NPC
题意简述 有一个\(k\)维空间,每维的跨度为\(L\),即每一维的坐标只能是\(0,1, \cdots ,L-1\).每一步你可以移动到任意一个曼哈顿距离到自己小于等于\(d\)的任意一个合法坐标. ...
- 最适合初学者的简单JAVAWEB项目快速入门
最近学习了一段时间JavaWeb,但做项目一直做不出来.相信很多初学者都有和我一样的问题,即为什么我学了,但我不会做?以及如何做一个简单的Web项目?对于初学者来说,我感觉可能从我,一个初学者角度来回 ...