前言
平时开发中,一直使用coding自带的持续集成,由于免费额度的限制,一直都不敢放开了用,如果买官方的高性能包,一年1999,有这钱,我买个轻量自建节点它不香嘛,国内2H4G的轻量原价才1000左右,要是碰上活动,等于交个朋友,而且我感觉最低配2H2G就完全够用了。所以我准备探索一下持续集成中添加自定义节点的功能。
来自腾讯云官网介绍:轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。
准备
由于囊中羞涩,这次就用我手里的现成的一台1H1G的香港轻量来测试,主要是想看下这么低的配置它能不能跑起来。
这里系统镜像选择的是Ubuntu Server 20.04,测试工程是个简单的vue3项目,计划是只安装一个docker环境,项目的编译在docker中进行。
添加swap分区
经过我的测试,1G内存,肯定是不够的,还没跑起来,服务器就失联了,所以这里配置了4G swap分区。
代码语言:shell复制dd if=/dev/zero of=/swapfile bs=1M count=4096
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
根据提示,需要安装jdk11
代码语言:shell复制apt install -y openjdk-11-jdk
按照提示,运行“接入新节点”的命令。
参考docker官网的文档,安装docker:
代码语言:shell复制sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
创建构建计划
在文本编辑器中,填入Jenkinsfile内容,这里的发布环节,只把编译结果复制到/web目录中。
代码语言:text复制pipeline {
agent any
stages {
stage('检出') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: GIT_BUILD_REF]],
userRemoteConfigs: [[
url: GIT_REPO_URL,
credentialsId: CREDENTIALS_ID
]]])
}
}
stage('编译') {
agent {
docker {
image 'node'
reuseNode 'true'
}
}
steps {
echo '开始构建'
sh '''npm install yarn
yarn
yarn build'''
}
}
stage('发布') {
steps {
sh 'cp -r dist /web'
}
}
}
}
构建测试
点击“立即构建”,成功,撒花!