## 概要 [Task3880: Azure Functions実装(音声ファイル削除)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3880) - 自動音声ファイル削除を実装 - 上記のテストを実装 - テストにMySQLを使用する仕組みを導入 ## レビューポイント - テストケースは十分か - テスト内容は妥当か - developにデプロイする前の動作確認・ユニットテストとして十分か ## クエリの変更 - 新規処理のため、既存からの変更はなし ## 動作確認状況 - DBが空の状態でローカル環境で実行し、0件削除のログが出ることを確認 - 削除対象が正しいか等はdevelopでチェック予定 - 行った修正がデグレを発生させていないことを確認できるか - 既存処理の変更はなし
53 lines
2.0 KiB
Docker
53 lines
2.0 KiB
Docker
# To enable ssh & remote debugging on app service change the base image to the one below
|
|
# FROM mcr.microsoft.com/azure-functions/node:4-node18-appservice
|
|
# FROM mcr.microsoft.com/azure-functions/node:4-node18
|
|
FROM node:18.17.1-buster
|
|
|
|
|
|
RUN /bin/cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
|
|
echo "Asia/Tokyo" > /etc/timezone
|
|
|
|
# Options for setup script
|
|
ARG INSTALL_ZSH="true"
|
|
ARG UPGRADE_PACKAGES="false"
|
|
ARG USERNAME=vscode
|
|
# 1000 はnodeで使われているためずらす
|
|
ARG USER_UID=1001
|
|
ARG USER_GID=$USER_UID
|
|
|
|
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
|
|
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
|
|
|
|
# Install needed packages and setup non-root user. Use a separate RUN statement to add your own dependencies.
|
|
COPY library-scripts/common-debian.sh /tmp/library-scripts/
|
|
RUN bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" \
|
|
&& apt-get install default-jre -y \
|
|
&& apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts
|
|
|
|
# COPY --from=golang:1.18-buster /usr/local/go/ /usr/local/go/
|
|
ENV GO111MODULE=auto
|
|
COPY library-scripts/go-debian.sh /tmp/library-scripts/
|
|
RUN bash /tmp/library-scripts/go-debian.sh "1.18" "/usr/local/go" "${GOPATH}" "${USERNAME}" "false" \
|
|
&& apt-get clean -y && rm -rf /tmp/library-scripts
|
|
ENV PATH="/usr/local/go/bin:${PATH}"
|
|
RUN mkdir -p /tmp/gotools \
|
|
&& cd /tmp/gotools \
|
|
&& export GOPATH=/tmp/gotools \
|
|
&& export GOCACHE=/tmp/gotools/cache \
|
|
# sql-migrate
|
|
&& go install github.com/rubenv/sql-migrate/sql-migrate@v1.1.2 \
|
|
&& mv /tmp/gotools/bin/* ${TARGET_GOPATH}/bin/ \
|
|
&& rm -rf /tmp/gotools
|
|
|
|
# Update NPM
|
|
RUN npm install -g npm
|
|
|
|
# 以下 ユーザー権限で実施
|
|
USER $USERNAME
|
|
# copy init-script
|
|
COPY --chown=$USERNAME:$USERNAME init.sh /home/${USERNAME}/
|
|
RUN chmod +x /home/${USERNAME}/init.sh
|
|
|
|
# 初期化を行う
|
|
# node imageのデフォルトENTRYPOINTが邪魔するため上書き
|
|
ENTRYPOINT /home/vscode/init.sh |