/usr/share/grails/2.1.1/bin/startGrails
この問題を回避 するには、スクリプトを手動で変更する必要がありました。そのパラメーターは Jenkins によって JAVA_OPTS で渡され、GRAILS_OPTS で設定されていたからです。
まず、GRAILS_OPTS からパラメーターを削除しました。
GRAILS_OPTS="-server -Xmx768M -Xms768M -XX:PermSize=256m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8"
去る
GRAILS_OPTS="-server -XX:PermSize=256m -XX:MaxPermSize=256m -Dfile.encoding=UTF-8"
次に、POSIX 準拠のcontains
関数を追加しました。
#POSIX compliant contains implementation
#Usage string substring
contains() {
test "${1#*$2}" != "$1"
}
そして、サイズが存在しない場合にサイズを再度追加するロジックを追加しました(コマンドラインからもgrailsを使用しています)ステートメントecho
はもちろんデバッグ専用です。これは提供されたファイルに対する変更であり、Grails をアップグレードする場合は再作成が必要になる場合があることに注意してください。
JAVA_OPTS="$GRAILS_OPTS $JAVA_OPTS $AGENT"
echo "JAVA_OPTS: $JAVA_OPTS"
if ! contains "$JAVA_OPTS" -Xms && ! contains "$JAVA_OPTS" -Xmx
then
echo "Setting -Xms"
JAVA_OPTS="-Xms768M $JAVA_OPTS"
fi
if ! contains "$JAVA_OPTS" -Xmx
then
echo "Setting -Xmx"
JAVA_OPTS="-Xmx768M $JAVA_OPTS"
fi
echo "JAVA_OPTS: $JAVA_OPTS"