ジェンキンスは、自動化されたデータテーブルの更新の展開プロセスで達成しました

I.はじめに

  では、「ジェンキンス+ Mavenの+ Gitのソースコードの展開を実現し、解放するために、」ジェンキンスこの記事のプロセス全体への展開プロジェクトのコードベースから+ Mavenの+ Gitリポジトリベースの自動展開は、導入されている方法。しかし、実際の運用環境では、多くの場合、データベース構造の変化をもたらす新しいオンライン機能は、初期化データを増やすというように。アプリケーションサーバは、インターネット環境にアクセスすることができながら、一般的な製造環境のアプリケーションサーバにおいて、データベースサーバは、分離され、データベース・サーバは、インターネット環境(一般)から単離されます。この記事では、自動展開プロセスとデータテーブルを更新するためにどのようなネットワーク環境に基づいて、ビルド環境に焦点を当てています。

第二に、テスト環境
  1. クラウド(クラウドHuawei社のWindows環境)でジェンキンス環境を導入しました。一方で「ジェンキンス+ Mavenの+ Gitのソースコードは、展開を実現し、解放するために」設定が完了しました。その後もSSHプラグを超える公開インストール、および構成システムでSSHを超える公開構成される。
    ここに画像を挿入説明
  2. サーバー環境
    のクラウドサーバーの展開ジェンキンスに加えて、私はまだ2つのローカル仮想マシン環境(CentOS7)を展開しています、JDK、Tomcatおよびその他の環境を展開しているの1、内部ネットワークアドレスは次のとおりです。192.168.1.10、Webサーバでありますアプリケーションサーバ、データベースサーバの別の1、展開MySQLの環境、ネットワークアドレス:192.168.1.9。2台のローカルエリアネットワーク内のサーバ、および22ポートのWebサーバーは、ポート8080は、ポート8080を使用するには、22ポートのSSHが使用するTomcatのとなっている、パブリックIPアドレスを通じてポートにアクセスすることができ、インターネットにマッピングされています。
  3. 测试使用的项目
    项目地址:https://gitee.com/hsh2015/jenkins-test。该项目就是一个最简单的Spring Boot项目,同时,在resources目录下,有需要更新的SQL文件。
三、自动化流程配置
1、 源码管理,即配置Git

ここに画像を挿入説明

2、Spring Boot项目构建

ここに画像を挿入説明

3、数据更新配置

  这部分是本篇内容的核心,如何实现在项目部署前,先更新对应的Sql语句呢?这些Sql语句应该如何管理呢?带着这些问题,我们开始这进行下面内容。

  1. 数据更新语句存储
    数据更新语句,这里会存储在resources/sql目录下。每次提交,都要新的SQL文件,后续会根据文件名称进行SQL语句的执行。
  2. SQL执行时机
    SQL文件执行,一般放在系统部署前执行,本示例中放到了spring boot项目构建后,项目部署前。
  3. 需要执行的SQL文件判断
    每次提交新功能的代码,如果有需要更新数据表的,就建立对应的SQL文件。然后进行部署的时候,读取该目录下所有的SQL文件,和当前系统已经执行的SQL文件对比(执行过的SQL文件,会添加到备份目录中),没有执行过SQL文件,然后执行SQL操作即可。
  4. 执行方式
    执行SQL文件,我们首先需要通过“Send files or execute commands over SSH”把对应的SQL文件,远程复制到应用服务器(数据库服务无法互联网连接)上,然后在应用服务器上,通过SSH命令执行SQL文件即可。
#!/bin/sh
for dir in $(find  /usr/soft/sql/sql/*.sql) #循环sql文件所在的目录
do
 if [ ! -f  "/usr/soft/sql/sql/bak/${dir##*/}" ];then#判断备份文件中是否存在,存在说明已经执行过,就不再执行
	 echo $dir;
	 echo ${dir##*/};
         scp -r $dir  [email protected]:/usr/local/soft/sql #复制文件到数据库服务器,指定目录
	 ssh [email protected] "mysql -hlocalhost -uroot -p123456 test --default-character-set=utf8  < /usr/local/soft/sql/${dir##*/};exit;" #通过ssh命令执行数据SQL更新语句,注意:执行命令需要使用双引号
	 mv $dir /usr/soft/sql//sql/bak/${dir##*/};#把执行过的SQL文件,放到本分目录下
 fi
done  

ここに画像を挿入説明

4、项目发布

ここに画像を挿入説明

5、测试

  访问系统,出现如下页面,说明项目部署成功了(中文乱码未处理,见谅)。
ここに画像を挿入説明
  然后查看数据库表,如果数据插入成功,说明SQL也执行成功了。

注:展開だけSQLファイルを実行するために完了することができます前に、SQL文とプロジェクトのこのアップデートは単なるテストには何の関係、ではありませんので、これは、データの更新を発揮し、展開するための単純なプロジェクトです。

公開された48元の記事 ウォンの賞賛3 ビュー3112

おすすめ

転載: blog.csdn.net/hou_ge/article/details/103682443