Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git hubについて #4

Closed
ht17a037 opened this issue May 29, 2019 · 18 comments
Closed

Git hubについて #4

ht17a037 opened this issue May 29, 2019 · 18 comments
Labels
question Further information is requested

Comments

@ht17a037
Copy link

シェル上でgitコマンドでパスワードとユーザー名をキャッシュし、githubでリポジトリを作りました。そこにairgraphでコンポーネントをプッシュしたいのですが、このようなエラーをはき上手くいきません
{"timestamp":1559027507456,"status":500,"error":"InternalSever
Error","exception":"java.lang.NullPointerException","message","NO message available","path":"/main
/pushComponent;jsessionid=3849D93AC831009237206F49B5E9B201"}
どうすればいいでしょうか?

@sec-hirose
Copy link
Collaborator

AirGraphからのPush時にキャッシュされたユーザ名が読めていないのかもしれません。
確認いたしますが、AirGraphからのPush時にはユーザ名・パスワード・コメントを入力していただけますでしょうか。

また、/opt/AirGraph/logs/以下にAirGraphの動作ログがあり、それを確認頂ければエラー箇所が特定できますので、お手数ですがその情報も教えていただければと存じます。

@ghost ghost added the question Further information is requested label May 30, 2019
@ht17a037
Copy link
Author

返信遅くなり申し訳ありません。
AirgraphからのPush時にユーザ名・パスワード・コメントを入力し、pushをしても一番上の質問の時と同じエラーをはきます。
以下がairgraph.logの動作ログです。

2019-05-31 14:17:08.329 INFO 3847 --- [nio-8080-exec-3] c.s.airgraph.controller.MainController : Push Component to Local Repository. component[aroha]git[test
]workspace[rts_work9]commitMessage[dd]userName[ht17a037]
2019-05-31 14:17:08.331 ERROR 3847 --- [nio-8080-exec-3] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-05-31 14:17:08.332 ERROR 3847 --- [nio-8080-exec-3] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-05-31 14:17:08.333 INFO 3847 --- [nio-8080-exec-3] c.s.a.service.IdeManagementService : Commit Component. package[work9]gitName[test
]result[Success.]
2019-05-31 14:17:08.334 ERROR 3847 --- [nio-8080-exec-3] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-05-31 14:17:08.335 ERROR 3847 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request proce
ssing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
at com.sec.airgraph.service.IdeManagementService.pushComponent(IdeManagementService.java:161)
at com.sec.airgraph.service.MainService.pushComponent(MainService.java:496)
at com.sec.airgraph.controller.MainController.pushComponent(MainController.java:611)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)

@sec-hirose
Copy link
Collaborator

情報ありがとうございます。

恐らくコンポーネント名とGItHubのリポジトリ名が一致していないためかと存じます。
一致しない場合でもエラーとならないように修正いたします。

sec-hirose added a commit that referenced this issue May 31, 2019
コンポーネント名とGitHubなどのリポジトリ名が異なる場合に、リポジトリ名からGitコマンド実行ディレクトリパスを作成していた。
そのため、ローカルディレクトリパスが正しく取得できていなかった。
ローカルディレクトリパスはコンポーネント名から作成するように修正。
@sec-hirose sec-hirose added the bug Something isn't working label May 31, 2019
@ht17a037
Copy link
Author

調査してくださりありがとうございます。

@ht17a037
Copy link
Author

ht17a037 commented Jun 4, 2019

シェル上でgitコマンドでパスワードとユーザー名をキャッシュ、コンポーネント名とGItHubのリポジトリ名を同じにしてGItHubにプッシュしてみたが、うまくいかずに初めにした質問と同じエラーをはきます。また、Airgraphでユーザーネームとパスワードをうってやってみたが、同じくうまくいきません。
どうすればいいのでしょうか?

logはこちらです。

2019-06-04 15:55:16.943 INFO 2139 --- [nio-8080-exec-8] c.s.airgraph.controller.MainController : Push Component to Local Repository. component[test]git[test
]workspace[rts_work9]commitMessage[f]userName[ht17a037]
2019-06-04 15:55:16.944 ERROR 2139 --- [nio-8080-exec-8] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-06-04 15:55:16.945 ERROR 2139 --- [nio-8080-exec-8] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-06-04 15:55:16.946 INFO 2139 --- [nio-8080-exec-8] c.s.a.service.IdeManagementService : Commit Component. package[work9]gitName[test
]result[Success.]
2019-06-04 15:55:16.946 ERROR 2139 --- [nio-8080-exec-8] com.sec.airgraph.util.ProcessUtil : In Function startProcessReturnStringWithWorkingDerectory, 例外発生:java.io.IOException: Cannot run progr
am "git" (in directory "/opt/AirGraph/data/rtm_workspace/work9/rtc/test
"): error=2, そのようなファイルやディレクトリはありません
2019-06-04 15:55:16.947 ERROR 2139 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request proce
ssing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
at com.sec.airgraph.service.IdeManagementService.pushComponent(IdeManagementService.java:161)
at com.sec.airgraph.service.MainService.pushComponent(MainService.java:496)
at com.sec.airgraph.controller.MainController.pushComponent(MainController.java:611)
at sun.reflect.GeneratedMethodAccessor279.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

@sec-hirose
Copy link
Collaborator

こちらでは再現できておりませんが、GitHubのリポジトリは正しく設定されていますでしょうか。

/opt/AirGraph/data/rtm_workspace/work9/rtc/testのディレクトリが見つかっていないようですが、
masterブランチでは、”test”の部分をリモートのURLが取得しております(developブランチではコンポーネント名から取得するように修正済みです)。

ここが取得できないとすると、リモートのURLが誤っている可能性もあると思われます。
コンソール上でPushできるか確認いただけますでしょうか。

@ht17a037
Copy link
Author

返信遅れて申し訳ございません。
URLが合っているのに、コンソール上からpushが出来なかったのでうまくキャッシュ出来ていないためにgithubと連結出来ないと思います。
お手数をおかけして申し訳ございません。

@sec-hirose
Copy link
Collaborator

コンソール上からのPush自体には、キャッシュなどは関係ないと思われます。

・コンソール上でユーザ名/パスワードを入力してPushなどができる状態であること
・masterブランチであれば、リポジトリ名とコンポーネント名が一致すること

上記を満たしていればAirGraphからGitHubの連携もできるかと思いますので、ご確認ください。
ログを見る感じでは、URLにスペースが混ざっているようにも思われます。

@ht17a037
Copy link
Author

返信遅れて申し訳ございません。
URLを確認したところ間違っており、直してpushするとうまくいきました。

@ht17a037
Copy link
Author

自作のコンポーネントを自分の他のパッケージで使えるようにしたいのですが、その方法がわかりません。GitHubのプライベートリポジトリとコンポーネントを紐づけることはでき、自作のコンポーネントの内容をGitHubへプッシュすることはできました。これをAirGraphの他のパッケージに取り込むには具体的にどのようにすればいいのでしょうか?

@sec-hirose
Copy link
Collaborator

#3
の内容に戻りますが、wasanbonのBINDER機能を利用してください。

BINDERとなるリポジトリを作成し、それにコンポーネントを紐づけることで、コンポーネント一覧に表示されるようになります。
http://wasanbon.org/?page_id=1727

@ht17a037
Copy link
Author

Git Hubからpullをすることは出来ないのでしょうか?

@sec-hirose
Copy link
Collaborator

AirGraphにて直接cloneする機能は有しておりません。

なお、コンソール上が利用可能であれば、別パッケージのrtcフォルダに直接cloneしていただくことでBINDERを経由せずに利用することも可能かもしれません。

@ht17a037
Copy link
Author

BINDERとなるリポジトリは作ったのですが、それをコンポーネントをどう紐づけたらいいのでしょうか?

@sec-hirose sec-hirose removed the bug Something isn't working label Jun 18, 2019
@sec-hirose
Copy link
Collaborator

BINDERとなるリポジトリのrtcsフォルダ以下に、コンポーネントが書かれたyamlファイルを作成すれば可能です。

@ht17a037
Copy link
Author

何度もお手数をおかけして申し訳ありません.

wasanbon-admin.pyのコマンドにbinderがあり,ホームディレクトリの.wasanbonの下に関係するファイルがあることがわかりました.しかし,wasanbonのマニュアルには,binderコマンドについての説明が一切ありません.
http://wasanbon.org/?page_id=168&lang=ja

@sec-hirose
Copy link
Collaborator

wasanbonに関する質問は、間違った回答をしても申し訳ありませんので、wasanbon側で問い合わせいただいた方がよろしいかと思われます。
https://github.com/sugarsweetrobotics/wasanbon

ただ、{path to wasanbon}/core/plugins/admin/environment_plugin/settings/repository.yaml
にBinderのリポジトリが設定されていれば、
wasanbon-admin.py binder updateコマンドを実行することで、ホームディレクトリの.wasanbonの下にbinderの内容が反映されると思います。

@ht17a037
Copy link
Author

わかりました。
ありがとうございます。

@ghost ghost closed this as completed Jul 26, 2019
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants