ubuntu服务器从环境搭建到Jenkins自动化部署

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: ubuntu服务器从环境搭建到Jenkins自动化部署

# 1. jdk


  • 下载 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"+ 官网jdk地址
  • 直接使用wget后面不接参数直接下载的jdk解压会报错
  • 解压:tar -zxvf jdk
  • 环境变量配置: vim /etc/profile

# jdk
JAVA_HOME=/home/futao/soft/jdk1.8.0_191
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
  • 使配置文件生效source /etc/profile


# 2. git


  • 发现默认已经安装了 ==
  • 配置 ssh-keygen -t rsa -C "test@163.com"


# 3.安装jenkins


参考:https://www.linuxidc.com/Linux/2016-12/138290.html

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins


  • 启动 /etc/init.d/jenkins start
  • 报错No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin

1、如还未安装java,则安装java
2、如已安装java,则执行以下命令,关联一下java的可执行文件。
# 把/usr/lib/jdk1.8.0_152/bin/java换成你的安装路径
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jdk1.8.0_152/bin/java" 1
update-alternatives --config java


  • jenkins密码 vim /var/lib/jenkins/secrets/initialAdminPassword
  • jenkins日志vim /var/log/jenkins/jenkins.log
  • 端口可在/etc/default/jenkins中修改


image.png

# 4.安装gradle


export GRADLE_HOME=/home/futao/soft/gradle-5.0-rc-1
export PATH=$GRADLE_HOME/bin:$PATH


  • 使配置生效source /etc/profile
  • 查看是否安装成功 gradle -v


image.png


# 5.安装maven

export M2_HOME=/home/futao/soft/apache-maven-3.6.0
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin


  • 使配置文件生效 source /etc/profile
  • check 版本mvn -v


image.png

# 6.安装mysql


  • sudo apt-get install mysql-server
  • 配置文件: vim /etc/mysql/mysql.conf.d/mysqld.cnf
  • 允许远程访问
  • 开启服务器的3306端口
  • 注释这句


image.png

  • 进入mysql,对远程用户进行授权
    grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中
  • 关闭/开启mysql服务service mysql stop, service mysql start


# 使用Jenkins对gradle构建的Springboot项目进行自动化部署持续集成



思路:

1.从远程代码仓库拉取代码;

2.执行gradle clean build -x test进行编译;

3.在编译完成之后执行shell脚本启动项目,启动项目之前应该kill掉上次发布的项目,java -jar xx.jar  --spring.profiles.active=prd运行springboot项目

当然,上面说的这些都由jenkins代替我们完成,对项目进行持续集成



image.png

环境配置 jdk/git/gradle/maven等配置

image.png



项目配置:


image.png

image.png

或者通过Publish over SSH插件将构建之后的jar包上传到其他服务器进行发布


image.png


dash board

image.png

👆因为项目中使用了elasticsearch和rocketmq,服务器没有安装,所以项目一直处于启动中状态,==。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
3月前
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
|
3月前
|
监控 虚拟化 云计算
从物理到云:使用自动化工具简化服务器迁移流程
【10月更文挑战第4天】随着云计算的快速发展,越来越多的企业选择将物理服务器迁移到云环境以提高效率和降低成本。本文详细介绍了使用自动化工具简化从物理到云的服务器迁移流程的技术实现细节,并提供了代码示例。
177 6
|
3月前
|
运维 应用服务中间件 网络安全
自动化运维:使用Ansible进行批量服务器配置
【9月更文挑战第35天】在现代IT基础设施管理中,高效、可扩展的自动化工具是提升工作效率的关键。本文将引导您了解如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置过程,确保一致性和可靠性的同时减少人为错误。通过实际案例,我们将展示如何编写Ansible Playbook以实现批量服务器配置,从而让您能够更加轻松地管理和维护您的服务器群。
|
22天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
137 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
1月前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
30天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
1月前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
2月前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
48 7
|
2月前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。