]> source.dussan.org Git - gitea.git/commitdiff
Add the scirpts for auto deploy.
authorcrystaldust <juzhenatpku@gmail.com>
Thu, 10 Apr 2014 11:56:19 +0000 (19:56 +0800)
committercrystaldust <juzhenatpku@gmail.com>
Thu, 10 Apr 2014 11:56:19 +0000 (19:56 +0800)
dockerfiles/build.sh [new file with mode: 0755]
dockerfiles/build.sh.bak [new file with mode: 0755]
dockerfiles/images/gogits/Dockerfile
dockerfiles/images/gogits/deploy.sh [new file with mode: 0644]
dockerfiles/images/mysql/Dockerfile
dockerfiles/images/test/Dockerfile [new file with mode: 0644]
dockerfiles/run.sh [new file with mode: 0755]

diff --git a/dockerfiles/build.sh b/dockerfiles/build.sh
new file mode 100755 (executable)
index 0000000..113f63d
--- /dev/null
@@ -0,0 +1,28 @@
+# Configs
+MYSQL_PASSWORD="kuajie8402"
+MYSQL_RUN_NAME="gogs_mysql"
+typeset -u MYSQL_ALIAS
+MYSQL_ALIAS="db"
+HOST_PORT="3000"
+
+# Replace the mysql root password in MySQL image Dockerfile.
+sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/mysql/Dockerfile
+# Replace the mysql root password in gogits image Dockerfile.
+sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/gogits/deploy.sh
+sed -i "s/THE_MYSQL_ALIAS/$MYSQL_ALIAS/g" images/gogits/deploy.sh
+
+
+# Build the MySQL image
+cd images/mysql
+docker build -t gogs/mysql .
+#
+## Build the gogits image
+cd images/gogits
+docker build -t gogs/gogits .
+#
+## Run MySQL image with name
+docker run -d --name $MYSQL_RUN_NAME gogs/mysql
+#
+## Run gogits image and link it to the MySQL image
+docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits
+
diff --git a/dockerfiles/build.sh.bak b/dockerfiles/build.sh.bak
new file mode 100755 (executable)
index 0000000..545a13d
--- /dev/null
@@ -0,0 +1,27 @@
+# Configs
+MYSQL_PASSWORD="YOUR_MYSQL_PASSWORD"
+MYSQL_RUN_NAME="YOUR_MYSQL_RUN_NAME"
+typeset -u MYSQL_ALIAS
+MYSQL_ALIAS="YOUR_MYSQL_ALIAS"
+HOST_PORT="YOUR_HOST_PORT"
+
+# Replace the mysql root password in MySQL image Dockerfile.
+sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/mysql/Dockerfile
+# Replace the mysql root password in gogits image Dockerfile.
+sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/gogits/Dockerfile
+
+
+# Build the MySQL image
+cd images/mysql
+docker build -i gogs/mysql .
+
+# Build the gogits image
+cd images/gogits
+docker build -i gogs/gogits .
+
+# Run MySQL image with name
+docker run -d --name $MYSQL_RUN_NAME gogs/mysql
+
+# Run gogits image and link it to the MySQL image
+docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits
+
index 9c7d018b0daeda2e6529bac8747ef1fc5ab3ec5a..265f86dad51ff8dd9035c10695154b7ddb8e04ae 100644 (file)
@@ -19,6 +19,10 @@ RUN cd $GOPATH/src/github.com/gogits/gogs && go build
 RUN apt-get autoremove -y
 RUN apt-get clean all
 
-EXPOSE 3000
+# Add the deploy script to the docker image and assign execution permission to it.
+ADD ./deploy.sh /
+RUN chmod +x deploy.sh
 
-CMD ["./$GOPATH/src/github.com/gogits/gogs/gogs"]  
+EXPOSE 3000
+CMD [/deploy.sh]
+CMD ["$GOPATH/src/github.com/gogits/gogs/gogs web"]  
diff --git a/dockerfiles/images/gogits/deploy.sh b/dockerfiles/images/gogits/deploy.sh
new file mode 100644 (file)
index 0000000..f9c2144
--- /dev/null
@@ -0,0 +1,15 @@
+# deploy.sh in gogits image
+# Script in the gogits image
+## Replace the mysql password
+MYSQL_PASSWORD=kuajie8402
+MYSQL_ALIAS=DB
+MYSQL_PASSWORD_LINE=`awk '$0 ~ str{print NR+1}' str="USER = root" $GOPATH/src/github.com/gogits/gogs/conf/app.ini`
+
+sed -e "${MYSQL_PASSWORD_LINE}s/.*$/PASSWD = $MYSQL_PASSWORD/g" conf/app.ini 
+
+## Replace the mysql address and port
+# DB_PORT=tcp://172.17.0.2:3306
+# DB_PORT_3306_TCP_PORT=3306
+# DB_PORT_3306_TCP_PROTO=tcp
+sed -e "/HOST = 127.0.0.1:3306/c\HOST = ${MYSQLALIAS}_PORT" app.ini
+
index ecf69a2c524df081dc4c5630305acbc3f9f12491..7c0324015e4e97bccebaa478ae39f565fab5c3a1 100644 (file)
@@ -1,12 +1,21 @@
-FROM stackbrew/ubuntu:13.10
+#FROM stackbrew/ubuntu:13.10
+FROM stackbrew/ubuntu
 MAINTAINER  Meaglith Ma <genedna@gmail.com> (@genedna)
 
+RUN apt-get install -y --force-yes software-properties-common
+
 RUN echo "deb http://mirrors.aliyun.com/ubuntu/ saucy main restricted" > /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates main restricted" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-backports main restricted universe multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security main restricted" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security multiverse" >> /etc/apt/sources.list
 
-#ENV MYSQL_PASSWORD docker
+#RUN add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
+
+RUN apt-get --yes --force-yes update
+RUN apt-get --yes --force-yes upgrade 
+
+
+ENV MYSQL_PASSWORD kuajie8402
 
-#RUN echo "mysql-server mysql-server/root_password password $MYSQL_PASSWORD" | debconf-set-selections  
-#RUN echo "mysql-server mysql-server/root_password_again password $MYSQL_PASSWORD" | debconf-set-selections
+RUN echo "mysql-server mysql-server/root_password password $MYSQL_PASSWORD" | debconf-set-selections  
+RUN echo "mysql-server mysql-server/root_password_again password $MYSQL_PASSWORD" | debconf-set-selections
 
 RUN apt-get update && apt-get install -y --force-yes mysql-server 
 RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
diff --git a/dockerfiles/images/test/Dockerfile b/dockerfiles/images/test/Dockerfile
new file mode 100644 (file)
index 0000000..b8ed66d
--- /dev/null
@@ -0,0 +1,7 @@
+FROM   stackbrew/ubuntu:saucy
+
+RUN    apt-get install -y --force-yes software-properties-common  
+RUN    add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"  
+RUN    apt-get --yes --force-yes update  
+RUN    apt-get --yes --force-yes upgrade  
+
diff --git a/dockerfiles/run.sh b/dockerfiles/run.sh
new file mode 100755 (executable)
index 0000000..7721ab4
--- /dev/null
@@ -0,0 +1,13 @@
+# Configs
+MYSQL_PASSWORD="kuajie8402"
+MYSQL_RUN_NAME="gogs_mysql"
+typeset -u MYSQL_ALIAS
+MYSQL_ALIAS="db"
+HOST_PORT="3000"
+
+## Run MySQL image with name
+docker run -d --name $MYSQL_RUN_NAME gogs/mysql
+#
+## Run gogits image and link it to the MySQL image
+docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits
+