Skip to content
Snippets Groups Projects

MVP build process

Merged Erick Hitter requested to merge 1-add-build into master
Compare and
3 files
+ 142
0
Compare changes
  • Side-by-side
  • Inline
Files
3
scripts/build.sh 0 → 100644
+ 108
0
 
#!/usr/bin/env bash
 
 
set -e
 
set -x
 
 
# Log when the build occurred.
 
date
 
echo ""
 
 
# Capture our starting point for easier navigation.
 
OG_DIR=$(pwd)
 
export OG_DIR
 
echo "$OG_DIR"
 
echo ""
 
 
# Common paths.
 
NGINX_SRC_DIR="$OG_DIR/src/nginx"
 
export NGINX_SRC_DIR
 
 
mkdir -p "$NGINX_SRC_DIR"
 
 
OPENSSL_DIR="$OG_DIR/src/openssl"
 
export OPENSSL_DIR
 
 
NGX_BROTLI_DIR="$OG_DIR/src/ngx_brotli"
 
export NGX_BROTLI_DIR
 
 
NGINX_CT_DIR="$OG_DIR/src/nginx_ct"
 
export NGINX_CT_DIR
 
 
# Dependency: OpenSSL
 
echo ""
 
echo "DEPENDENCY: OpenSSL AT $OPENSSL_TAG"
 
git clone -q --recursive --depth 1 https://github.com/openssl/openssl.git -b "$OPENSSL_TAG" "$OPENSSL_DIR"
 
 
# Dependency: ngx_brotli (no tagged releases)
 
echo ""
 
echo "DEPENDENCY: ngx_brotli"
 
git clone -q --recursive --depth 1 https://github.com/google/ngx_brotli.git "$NGX_BROTLI_DIR"
 
 
# Dependency: nginx-ct
 
echo ""
 
echo "DEPENDENCY: nginx-ct AT $NGINX_CT_TAG"
 
git clone -q --recursive --depth 1 https://github.com/grahamedgecombe/nginx-ct.git -b "$NGINX_CT_TAG" "$NGINX_CT_DIR"
 
 
# nginx from git mirror
 
echo ""
 
echo "CLONING nginx FROM GIT MIRROR AT $NGINX_TAG"
 
git clone -q --recursive --depth 1 https://github.com/nginx/nginx.git -b "$NGINX_TAG" "$NGINX_SRC_DIR"
 
 
# Configure nginx
 
echo ""
 
echo "CONFIGURE NGINX"
 
cd "$NGINX_SRC_DIR" || exit 1
 
 
./auto/configure \
 
--prefix=/etc/nginx \
 
--sbin-path=/usr/sbin/nginx \
 
--conf-path=/etc/nginx/nginx.conf \
 
--error-log-path=/var/log/nginx/error.log \
 
--http-log-path=/var/log/nginx/access.log \
 
--pid-path=/var/run/nginx.pid \
 
--lock-path=/var/run/nginx.lock \
 
--http-client-body-temp-path=/var/cache/nginx/client_temp \
 
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
 
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
 
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
 
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
 
--user=www-data \
 
--group=www-data \
 
--with-http_ssl_module \
 
--with-http_realip_module \
 
--with-http_addition_module \
 
--with-http_sub_module \
 
--with-http_dav_module \
 
--with-http_flv_module \
 
--with-http_mp4_module \
 
--with-http_gunzip_module \
 
--with-http_gzip_static_module \
 
--with-http_random_index_module \
 
--with-http_secure_link_module \
 
--with-http_stub_status_module \
 
--with-http_auth_request_module \
 
--with-threads \
 
--with-stream \
 
--with-stream_ssl_module \
 
--with-http_slice_module \
 
--with-mail \
 
--with-mail_ssl_module \
 
--with-file-aio \
 
--with-http_v2_module \
 
--with-openssl="$OPENSSL_DIR" \
 
--add-module="$NGX_BROTLI_DIR" \
 
--add-module="$NGINX_CT_DIR"
 
 
# Build nginx
 
echo ""
 
echo "BUILDING NGINX"
 
echo "Using $(nproc) jobs"
 
make
 
 
if [[ ! -f "$NGINX_SRC_DIR/objs/nginx" ]]; then
 
exit 1
 
fi
 
 
# Verify build works
 
cd "$NGINX_SRC_DIR/objs" || exit 1
 
./nginx -V
Loading