❝沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞
大家好,我是技术UP主小傅哥。
2c2g 云服务器,你占用了83%的内存空间!傅哥!Jenkins 用不起呀!我好不容易找对象要50块买的一年服务器,要学你的项目。现在都被 Jenkins 吃了!
哈哈哈,最近一段时间跟 CI&CD
工具杠上了,一路调研和尝试体验了 Jenkins、GitLab、Drone、CircleCI、TeamCity、Bamboo、Travis CI、Codeship、GoCD、Wercker、Semaphore、Nevercode、Spinnaker、Buildbot... 等十多款风格迥异的构建部署工具。可以说 Jenkins 依旧是当家老大。所以小傅哥的第一篇 CI&CD
文章则是《用上了 Jenkins,个人部署项目是真方便!》 但这货也确实是嘎嘎占内存!
为此,小傅哥今天分享另外一款,轻量、简单、好用,还好看的在线 CI&CD
工具。直接点点点,配置下就能使用了。
咋样,这款工具看着不错吧。它叫 buddy.works 是一款付费软件,但提供了免费白皮袄的额度。足够我们个人用户使用。
本文会向小伙伴介绍这块工具的使用操作,方便小白们快速上手。在文末还提供了Java项目学习,让小白从实战中积累变成经验。
这款工具号称 「最易用的CI/CD没有之一」,体验过后我表示,他说的对😂!
地址:https://buddy.works/sign-up?locale=cn&utm_campaign=buddy.red
地址:https://app.buddy.works/
流水线,就跟它的名字一样,用于构建项目所需的一条链路流程。如;Maven 构建、镜像打包&发布、SSH 基本驱动容器启动。也可以是 Maven 构建后直接通过 SFTP 把Jar传递到 Linux 服务器,在通过 SSH 链接执行 Shell 脚本完成 Jar 的镜像打包和部署。
所以,接下来我们先来完成一个流水线的最基础 Maven 构建,之后再分别添加不同类型的流水线操作。「Buddy提供了各种插件,你可以分别组合他们进行使用,完成项目的部署。」
注意📢:流水线上的节点,你可以在右侧的绿色按钮进行关闭,只执行你需要的节点。比如现在你已经知道 Maven 构建成功了,只需要推送镜像。那么可以去掉上一个节点,这样速度更快。
# 先删除之前的容器和镜像文件
if [ "$(docker ps -a | grep xfg-dev-tech-jenkins)" ]; then
docker stop xfg-dev-tech-jenkins
docker rm xfg-dev-tech-jenkins
fi
if [ "$(docker images -q xfg-dev-tech-jenkins)" ]; then
docker rmi xfg-dev-tech-jenkins
fi
docker pull fuzhengwei/xfg-dev-tech-jenkins:2.0
docker run -itd -p 8091:8091 --name xfg-dev-tech-jenkins fuzhengwei/xfg-dev-tech-jenkins:2.0
说明:这条流水线的步骤为;Maven构建、通过 SFTP 上传构建的Jar到云服务器。之后通过 SSH 执行 Shell 脚本,在云服务器创建出 Dockerfile 「注意路径」,这样 Docker镜像就直接在云服务器的 Docker上了,不需要在通过 DockerHub 拉取镜像。最后通过 SSH 执行 Shell 脚本启动服务即可。
/dev-ops
这个是云服务器的地址,你可以自己定义任何的地址。如果文件夹不存在,也会自动创建。#!/bin/bash
cd /dev-ops
# 定义Dockerfile的路径
DOCKERFILE_PATH="https://bugstack.cn/images/roadmap/tutorial/Dockerfile"
# 创建Dockerfile并写入内容
cat > $DOCKERFILE_PATH << 'EOF'
# 基础镜像 openjdk:8-jre-slim
FROM openjdk:8-jre-slim
# 作者
MAINTAINER xiaofuge
# 配置
ENV PARAMS=""
# 时区
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 添加应用
ADD target/xfg-dev-tech-app.jar /xfg-dev-tech-app.jar
## 在镜像运行为容器后执行的命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /xfg-dev-tech-app.jar $PARAMS"]
EOF
echo "Dockerfile has been created."
# 先删除之前的容器和镜像文件
if [ "$(docker ps -a | grep xfg-dev-tech-jenkins)" ]; then
docker stop xfg-dev-tech-jenkins
docker rm xfg-dev-tech-jenkins
fi
if [ "$(docker images -q xfg-dev-tech-jenkins)" ]; then
docker rmi xfg-dev-tech-jenkins
fi
cd /dev-ops
docker build -t xiaofuge/xfg-dev-tech-jenkins:1.3 .
docker run -itd -p 8091:8091 --name xfg-dev-tech-jenkins xiaofuge/xfg-dev-tech-jenkins:1.3
cd /dev-ops
进入到文件路径。之后构建镜像和部署。怎么样,是不是很方便。但要注意,https://app.buddy.works - 账单中,会记录你的免费额度。
Ci&CD、链路监控、日志采集、中间件设计实现、分布式技术栈运用,等等这些内容都是形成自己技术栈体系非常重要的一个个知识节点。只要非常清楚的这些全流程,个人的技术之路才会走的更远。
所以小傅哥这里强烈建议加入星球:「码农会锁」一起学习。星球里项目包括:大营销平台设计实现、OpenAI 大模型应用、API网关、Lottery抽奖、IM通信、SpringBoot Starter 组件开发、IDEA Plugin 插件开发等,并还有开源项目学习。
星球项目展示 https://gaga.plus -> 进去一看就知道,这是嘎嘎牛的实战项目社区,也是唯一一个架构师带着你做项目的社区!!!