如何通过bash脚本设置最新版本的liquibase?

时间:2014-06-18 13:17:51

标签: bash github liquibase sourceforge

我曾经安装liquibase旧版本,例如

   `wget https://github.com/downloads/liquibase/liquibase/liquibase-2.0.5-bin.tar.gz`

然后继续提取并将其移动到所需位置。我无法找到最新版本的 在github上的liquibase。可能已删除或不可用?

Liquibase download page只有source-forge的链接,有人可以帮我解决来自source-forge的wget包的问题吗?

修改  我不确定github,似乎没有可用于最新版本的版本。但是,我的完整脚本如下所示:

#!/bin/bash
sudo apt-get update
sudo apt-get install -y openjdk-7-jre-headless
sudo apt-get install -y libmysql-java
LV="3.1.1"
function setupLiquibase(){
  source $HOME/.profile

  INSTALLED="$(command -v liquibase)"

  # if not added already
  if [ -z "$LIQUIBASE_HOME" ]
    then
      echo  'export MYSQL_JCONNECTOR=/usr/share/java/mysql-connector-java.jar'|sudo tee -a $HOME/.profile
      echo  'export LIQUIBASE_HOME=/usr/local/liquibase' |sudo tee -a $HOME/.profile
      echo  'export PATH=$PATH:$LIQUIBASE_HOME'|sudo tee -a $HOME/.profile
  fi

  if [ -z "$INSTALLED" ]
    then
        echo "Installing liquibase $LV "
        sudo rm -rf liquibase*
        wget http://kaz.dl.sourceforge.net/project/liquibase/Liquibase%20Core/liquibase-"$LV"-bin.tar.gz
        gunzip liquibase-"$LV"-bin.tar.gz
        sudo mkdir /usr/local/liquibase
        sudo tar -xf liquibase-"$LV"-bin.tar -C /usr/local/liquibase
        sudo chmod +x /usr/local/liquibase/liquibase
    else
        INSTALLED="$(liquibase --version)"
        echo "Liquibase is already installed, ${INSTALLED}"
  fi
}

setupLiquibase

5 个答案:

答案 0 :(得分:3)

Github将下载部分移至/release

所以你的网址变成了:

https://github.com/liquibase/liquibase/archive/liquibase-parent-3.2.0.tar.gz

答案 1 :(得分:3)

我使用apache ivyMaven Central下载liquibase及其数据库驱动程序依赖项。

Ivy本身只是一个罐子,也可以来自Maven Central的downloaded

实施例

此示例运行标准liquibase变更集并创建h2数据库。 bash脚本将下载并缓存所需的jar。

├── changesets
│   └── scottTiger.xml
├── ivy.xml
├── liquibase.properties
└── liquibase.sh

运行如下

./liquibase.sh update

liquibase.sh

Apache ivy可以用作executable jar

#!/bin/bash
java -jar $HOME/.ant/lib/ivy.jar \
     -error \
     -ivy ivy.xml \
     -main liquibase.integration.commandline.Main \
     -args $@

的ivy.xml

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>
    <dependencies>
        <dependency org="org.liquibase" name="liquibase-core" rev="latest.release" conf="default"/>
        <dependency org="com.h2database" name="h2" rev="latest.release" conf="default"/>
    </dependencies>
</ivy-module>

liquibase.properties

url=jdbc:h2:./db/scottTiger
driver=org.h2.Driver
username=user
password=pass
changeLogFile=changesets/scottTiger.xml
logLevel=info

答案 2 :(得分:2)

尝试使用此命令行下载

wget http://sourceforge.net/projects/liquibase/files/Liquibase%20Core/liquibase-3.2.0-bin.tar.gz/download -O liquibase-3.2.0-bin.tar.gz

要为下载选择文件名,您可以指定选项-O nomefile(请注意,它是大写o而非0)。

如果您忘记(就像我第一次做的那样)指定-O nomefile,您将在硬盘上拥有一个名称为wget猜测的文件。所以:

http://Site/FullPath/liquibase-3.2.0-bin.tar.gz/download  --> download

并且必须手动重命名 文件download

如果是

http://Site/FullPath/liquibase-3.2.0-bin.tar.gz  --> liquibase-3.2.0-bin.tar.gz

您将直接使用正确名称的文件。

答案 3 :(得分:0)

要安装Liquibase,您需要执行以下步骤

  1. 安装并解压缩Liquibase binaries
  2. 安装Java JDK
  3. 安装数据库的JDBC驱动程序
  4. 通过设置Path变量使Liquibase在整个OS上均可访问

详细步骤为here

答案 4 :(得分:0)

我面临着同样的问题。使用以下命令:wget https://github.com/liquibase/liquibase/releases/download/v3.8.1/liquibase-3.8.1.tar.gz

要获取正确的URL,请访问liquibase download page并在URL中使用浏览器检查功能。在那里,您将获得用于wget的正确链接。