teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

Dockerfile、docker-compose.ymlnaなども追記。

2021/07/20 13:48

投稿

matsu1226
matsu1226

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- circleCIにてbundler: command not found
1
+ circleCIにて"bundle exec rspec" => "bundler: command not found"
body CHANGED
@@ -9,7 +9,7 @@
9
9
  ### 発生している問題・エラーメッセージ
10
10
 
11
11
 
12
- circleci/config.yml↓
12
+ #### circleci/config.yml↓
13
13
  ```
14
14
  version: 2.1
15
15
  orbs:
@@ -92,6 +92,63 @@
92
92
  only: main
93
93
  ```
94
94
 
95
+ #### Dockerfile↓
96
+ ```
97
+ FROM ruby:2.7
98
+ ENV RAILS_ENV=production
99
+
100
+ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
101
+ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
102
+ && apt-get update -qq \
103
+ && apt-get install -y nodejs yarn build-essential default-mysql-client
104
+ WORKDIR /app
105
+ COPY ./src /app
106
+ RUN bundle config --local set path 'vendor/bundle' \
107
+ && bundle install
108
+
109
+ COPY start.sh /start.sh
110
+ RUN chmod 744 /start.sh
111
+ CMD [ "sh", "/start.sh" ]
112
+ ```
113
+ #### start.sh↓
114
+
115
+ ```ここに言語を入力
116
+ #! /bin/sh
117
+
118
+ if [ "${RAILS_ENV}" = "production" ]
119
+ then
120
+ bundle exec rails assets:precompile
121
+ fi
122
+
123
+ bundle exec rails s -p ${PORT:-3000} -b 0.0.0.0
124
+ ```
125
+
126
+ #### docker-compose.yml↓
127
+ ```
128
+ version: '3'
129
+ services:
130
+ db:
131
+ image: mysql:8.0
132
+ command: --default-authentication-plugin=mysql_native_password
133
+ volumes:
134
+ # - ./src/db/mysql_data:/var/lib/mysql
135
+ - mysql_data:/var/lib/mysql
136
+ environment:
137
+ MYSQL_ROOT_PASSWORD: password
138
+ MYSQL_USER: root
139
+ web:
140
+ build: .
141
+ command: bundle exec rails s -p 3000 -b '0.0.0.0'
142
+ volumes:
143
+ - ./src:/app
144
+ ports:
145
+ - "3000:3000"
146
+ depends_on:
147
+ - db
148
+ volumes:
149
+ mysql_data:
150
+ ```
151
+
95
152
  circleCI実行結果↓
96
153
  testジョブの最後でerrorとなります。
97
154